;//////////////////////////////////////////////////////////////
;//
;// NASMX Preprocessor
;// Copyright (c) 2005-2014, The NASMX Project
;//
;// Windows.Inc
;// created by Bryant Keller
;// modified by Rob Neff
;//
;// 1 Aug 2010 - Rob Neff
;//   - Now using new typedef system

%ifndef __WINDOWS_INC__
%define __WINDOWS_INC__

;// constants
%define TRUE 1
%define FALSE 0
%define NULL FALSE
%define Normal 000000h
%define ReadOnly 000001h
%define Hidden 000010h
%define System 000100h
%define vLabel 001000h
%define SubDir 010000h
%define Archive 100000h
%define Black 000000h
%define Blue 0FF0000h
%define Green 00FF00h
%define Cyan 0FFFF00h
%define Red 0000FFh
%define Magenta 0FF00FFh
%define Yellow 00FFFFh
%define White 0FFFFFFh
%define Gray 080808h
%define ANYSIZE_ARRAY 1
%define INVALID_HANDLE_VALUE -1
%define DELETE 10000h
%define READ_CONTROL 20000h
%define WRITE_DAC 40000h
%define WRITE_OWNER 80000h
%define SYNCHRONIZE 100000h
%define STANDARD_RIGHTS_READ READ_CONTROL
%define STANDARD_RIGHTS_WRITE READ_CONTROL
%define STANDARD_RIGHTS_EXECUTE READ_CONTROL
%define STANDARD_RIGHTS_REQUIRED 0F0000h
%define STANDARD_RIGHTS_ALL 1F0000h
%define SPECIFIC_RIGHTS_ALL 0FFFFh
%define SID_REVISION 1
%define SID_MAX_SUB_AUTHORITIES 15
%define SID_RECOMMENDED_SUB_AUTHORITIES 1
%define SidTypeUser 1
%define SidTypeGroup 2
%define SidTypeDomain 3
%define SidTypeAlias 4
%define SidTypeWellKnownGroup 5
%define SidTypeDeletedAccount 6
%define SidTypeInvalid 7
%define SidTypeUnknown 8
%define SECURITY_NULL_RID 0h
%define SECURITY_WORLD_RID 0h
%define SECURITY_LOCAL_RID 0h
%define SECURITY_CREATOR_OWNER_RID 0h
%define SECURITY_CREATOR_GROUP_RID 1h
%define SECURITY_DIALUP_RID 1h
%define SECURITY_NETWORK_RID 2h
%define SECURITY_BATCH_RID 3h
%define SECURITY_INTERACTIVE_RID 4h
%define SECURITY_SERVICE_RID 6h
%define SECURITY_ANONYMOUS_LOGON_RID 7h
%define SECURITY_LOGON_IDS_RID 5h
%define SECURITY_LOCAL_SYSTEM_RID 12h
%define SECURITY_NT_NON_UNIQUE 15h
%define SECURITY_BUILTIN_DOMAIN_RID 20h
%define DOMAIN_USER_RID_ADMIN 1F4h
%define DOMAIN_USER_RID_GUEST 1F5h
%define DOMAIN_GROUP_RID_ADMINS 200h
%define DOMAIN_GROUP_RID_USERS 201h
%define DOMAIN_GROUP_RID_GUESTS 202h
%define DOMAIN_ALIAS_RID_ADMINS 220h
%define DOMAIN_ALIAS_RID_USERS 221h
%define DOMAIN_ALIAS_RID_GUESTS 222h
%define DOMAIN_ALIAS_RID_POWER_USERS 223h
%define DOMAIN_ALIAS_RID_ACCOUNT_OPS 224h
%define DOMAIN_ALIAS_RID_SYSTEM_OPS 225h
%define DOMAIN_ALIAS_RID_PRINT_OPS 226h
%define DOMAIN_ALIAS_RID_BACKUP_OPS 227h
%define DOMAIN_ALIAS_RID_REPLICATOR 228h
%define SE_GROUP_MANDATORY 1h
%define SE_GROUP_ENABLED_BY_DEFAULT 2h
%define SE_GROUP_ENABLED 4h
%define SE_GROUP_OWNER 8h
%define SE_GROUP_LOGON_ID 0C0000000h
%define FILE_BEGIN 0
%define FILE_CURRENT 1
%define FILE_END 2
%define FILE_FLAG_WRITE_THROUGH 80000000h
%define FILE_FLAG_OVERLAPPED 40000000h
%define FILE_FLAG_NO_BUFFERING 20000000h
%define FILE_FLAG_RANDOM_ACCESS 10000000h
%define FILE_FLAG_SEQUENTIAL_SCAN 8000000h
%define FILE_FLAG_DELETE_ON_CLOSE 4000000h
%define FILE_FLAG_BACKUP_SEMANTICS 2000000h
%define FILE_FLAG_POSIX_SEMANTICS 1000000h
%define CREATE_NEW 1
%define CREATE_ALWAYS 2
%define OPEN_EXISTING 3
%define OPEN_ALWAYS 4
%define TRUNCATE_EXISTING 5
%define PIPE_ACCESS_INBOUND 1h
%define PIPE_ACCESS_OUTBOUND 2h
%define PIPE_ACCESS_DUPLEX 3h
%define PIPE_CLIENT_END 0h
%define PIPE_SERVER_END 1h
%define PIPE_WAIT 0h
%define PIPE_NOWAIT 1h
%define PIPE_READMODE_BYTE 0h
%define PIPE_READMODE_MESSAGE 2h
%define PIPE_TYPE_BYTE 0h
%define PIPE_TYPE_MESSAGE 4h
%define PIPE_UNLIMITED_INSTANCES 255
%define SECURITY_CONTEXT_TRACKING 40000h
%define SECURITY_EFFECTIVE_ONLY 80000h
%define SECURITY_SQOS_PRESENT 100000h
%define SECURITY_VALID_SQOS_FLAGS 1F0000h
%define SP_SERIALCOMM 1h
%define PST_UNSPECIFIED 0h
%define PST_RS232 1h
%define PST_PARALLELPORT 2h
%define PST_RS422 3h
%define PST_RS423 4h
%define PST_RS449 5h
%define PST_FAX 21h
%define PST_SCANNER 22h
%define PST_NETWORK_BRIDGE 100h
%define PST_LAT 101h
%define PST_TCPIP_TELNET 102h
%define PST_X25 103h
%define PCF_DTRDSR 1h
%define PCF_RTSCTS 2h
%define PCF_RLSD 4h
%define PCF_PARITY_CHECK 8h
%define PCF_XONXOFF 10h
%define PCF_SETXCHAR 20h
%define PCF_TOTALTIMEOUTS 40h
%define PCF_INTTIMEOUTS 80h
%define PCF_SPECIALCHARS 100h
%define PCF_16BITMODE 200h
%define DLL_PROCESS_DETACH 0
%define DLL_PROCESS_ATTACH 1
%define DLL_THREAD_ATTACH 2
%define DLL_THREAD_DETACH 3
%define SP_PARITY 1h
%define SP_BAUD 2h
%define SP_DATABITS 4h
%define SP_STOPBITS 8h
%define SP_HANDSHAKING 10h
%define SP_PARITY_CHECK 20h
%define SP_RLSD 40h
%define BAUD_075 1h
%define BAUD_110 2h
%define BAUD_134_5 4h
%define BAUD_150 8h
%define BAUD_300 10h
%define BAUD_600 20h
%define BAUD_1200 40h
%define BAUD_1800 80h
%define BAUD_2400 100h
%define BAUD_4800 200h
%define BAUD_7200 400h
%define BAUD_9600 800h
%define BAUD_14400 1000h
%define BAUD_19200 2000h
%define BAUD_38400 4000h
%define BAUD_56K 8000h
%define BAUD_128K 10000h
%define BAUD_115200 20000h
%define BAUD_57600 40000h
%define BAUD_USER 10000000h
%define DATABITS_5 1h
%define DATABITS_6 2h
%define DATABITS_7 4h
%define DATABITS_8 8h
%define DATABITS_16 10h
%define DATABITS_16X 20h
%define STOPBITS_10 1h
%define STOPBITS_15 2h
%define STOPBITS_20 4h
%define PARITY_NONE 100h
%define PARITY_ODD 200h
%define PARITY_EVEN 400h
%define PARITY_MARK 800h
%define PARITY_SPACE 1000h
%define DTR_CONTROL_DISABLE 0h
%define DTR_CONTROL_ENABLE 1h
%define DTR_CONTROL_HANDSHAKE 2h
%define RTS_CONTROL_DISABLE 0h
%define RTS_CONTROL_ENABLE 1h
%define RTS_CONTROL_HANDSHAKE 2h
%define RTS_CONTROL_TOGGLE 3h
%define GMEM_FIXED 0h
%define GMEM_MOVEABLE 2h
%define GMEM_NOCOMPACT 10h
%define GMEM_NODISCARD 20h
%define GMEM_ZEROINIT 40h
%define GMEM_MODIFY 80h
%define GMEM_DISCARDABLE 100h
%define GMEM_NOT_BANKED 1000h
%define GMEM_SHARE 2000h
%define GMEM_DDESHARE 2000h
%define GMEM_NOTIFY 4000h
%define GMEM_LOWER GMEM_NOT_BANKED
%define GMEM_VALID_FLAGS 7F72h
%define GMEM_INVALID_HANDLE 8000h
%define GMEM_DISCARDED 4000h
%define GMEM_LOCKCOUNT 0FFh
%define GHND GMEM_MOVEABLE|GMEM_ZEROINIT
%define GPTR GMEM_FIXED|GMEM_ZEROINIT
%define LMEM_FIXED 0h
%define LMEM_MOVEABLE 2h
%define LMEM_NOCOMPACT 10h
%define LMEM_NODISCARD 20h
%define LMEM_ZEROINIT 40h
%define LMEM_MODIFY 80h
%define LMEM_DISCARDABLE 0F00h
%define LMEM_VALID_FLAGS 0F72h
%define LMEM_INVALID_HANDLE 8000h
%define LHND LMEM_MOVEABLE+LMEM_ZEROINIT
%define LPTR LMEM_FIXED+LMEM_ZEROINIT
%define NONZEROLHND LMEM_MOVEABLE
%define NONZEROLPTR LMEM_FIXED
%define LMEM_DISCARDED 4000h
%define LMEM_LOCKCOUNT 0FFh
%define DEBUG_PROCESS 1h
%define DEBUG_ONLY_THIS_PROCESS 2h
%define CREATE_SUSPENDED 4h
%define DETACHED_PROCESS 8h
%define CREATE_NEW_CONSOLE 10h
%define NORMAL_PRIORITY_CLASS 20h
%define IDLE_PRIORITY_CLASS 40h
%define HIGH_PRIORITY_CLASS 80h
%define REALTIME_PRIORITY_CLASS 100h
%define CREATE_NEW_PROCESS_GROUP 200h
%define CREATE_NO_WINDOW 8000000h
%define PROFILE_USER 10000000h
%define PROFILE_KERNEL 20000000h
%define PROFILE_SERVER 40000000h
%define MAXLONG 7FFFFFFFh
%define THREAD_BASE_PRIORITY_MIN -2
%define THREAD_BASE_PRIORITY_MAX 2
%define THREAD_BASE_PRIORITY_LOWRT 15
%define THREAD_BASE_PRIORITY_IDLE -15
%define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
%define THREAD_PRIORITY_BELOW_NORMAL THREAD_PRIORITY_LOWEST+1
%define THREAD_PRIORITY_NORMAL 0
%define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
%define THREAD_PRIORITY_ABOVE_NORMAL THREAD_PRIORITY_HIGHEST-1
%define THREAD_PRIORITY_ERROR_RETURN MAXLONG
%define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
%define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
%define APPLICATION_ERROR_MASK 20000000h
%define ERROR_SEVERITY_SUCCESS 0h
%define ERROR_SEVERITY_INFORMATIONAL 40000000h
%define ERROR_SEVERITY_WARNING 80000000h
%define ERROR_SEVERITY_ERROR 0C0000000h
%define MINCHAR 80h
%define MAXCHAR 7Fh
%define MINSHORT 8000h
%define MAXSHORT 7FFFh
%define MINLONG 80000000h
%define MAXBYTE 0FFh
%define MAXWORD 0FFFFh
%define MAXDWORD 0FFFFFFFFh
%define LANG_NEUTRAL 0h
%define LANG_BULGARIAN 2h
%define LANG_CHINESE 4h
%define LANG_CROATIAN 1Ah
%define LANG_CZECH 5h
%define LANG_DANISH 6h
%define LANG_DUTCH 13h
%define LANG_ENGLISH 9h
%define LANG_FINNISH 0Bh
%define LANG_FRENCH 0Ch
%define LANG_GERMAN 7h
%define LANG_GREEK 8h
%define LANG_HUNGARIAN 0Eh
%define LANG_ICELANDIC 0Fh
%define LANG_ITALIAN 10h
%define LANG_JAPANESE 11h
%define LANG_KOREAN 12h
%define LANG_NORWEGIAN 14h
%define LANG_POLISH 15h
%define LANG_PORTUGUESE 16h
%define LANG_ROMANIAN 18h
%define LANG_RUSSIAN 19h
%define LANG_SLOVAK 1Bh
%define LANG_SLOVENIAN 24h
%define LANG_SPANISH 0Ah
%define LANG_SWEDISH 1Dh
%define LANG_TURKISH 1Fh
%define SUBLANG_NEUTRAL 0h
%define SUBLANG_DEFAULT 1h
%define SUBLANG_SYS_DEFAULT 2h
%define SUBLANG_CHINESE_TRADITIONAL 1h
%define SUBLANG_CHINESE_SIMPLIFIED 2h
%define SUBLANG_CHINESE_HONGKONG 3h
%define SUBLANG_CHINESE_SINGAPORE 4h
%define SUBLANG_DUTCH 1h
%define SUBLANG_DUTCH_BELGIAN 2h
%define SUBLANG_ENGLISH_US 1h
%define SUBLANG_ENGLISH_UK 2h
%define SUBLANG_ENGLISH_AUS 3h
%define SUBLANG_ENGLISH_CAN 4h
%define SUBLANG_ENGLISH_NZ 5h
%define SUBLANG_ENGLISH_EIRE 6h
%define SUBLANG_FRENCH 1h
%define SUBLANG_FRENCH_BELGIAN 2h
%define SUBLANG_FRENCH_CANADIAN 3h
%define SUBLANG_FRENCH_SWISS 4h
%define SUBLANG_GERMAN 1h
%define SUBLANG_GERMAN_SWISS 2h
%define SUBLANG_GERMAN_AUSTRIAN 3h
%define SUBLANG_ITALIAN 1h
%define SUBLANG_ITALIAN_SWISS 2h
%define SUBLANG_NORWEGIAN_BOKMAL 1h
%define SUBLANG_NORWEGIAN_NYNORSK 2h
%define SUBLANG_PORTUGUESE 2h
%define SUBLANG_PORTUGUESE_BRAZILIAN 1h
%define SUBLANG_SPANISH 1h
%define SUBLANG_SPANISH_MEXICAN 2h
%define SUBLANG_SPANISH_MODERN 3h
%define SORT_DEFAULT 0h
%define SORT_JAPANESE_XJIS 0h
%define SORT_JAPANESE_UNICODE 1h
%define SORT_CHINESE_BIG5 0h
%define SORT_CHINESE_UNICODE 1h
%define SORT_KOREAN_KSC 0h
%define SORT_KOREAN_UNICODE 1h
%define FILE_READ_DATA 1h
%define FILE_LIST_DIRECTORY 1h
%define FILE_WRITE_DATA 2h
%define FILE_ADD_FILE 2h
%define FILE_APPEND_DATA 4h
%define FILE_ADD_SUBDIRECTORY 4h
%define FILE_CREATE_PIPE_INSTANCE 4h
%define FILE_READ_EA 8h
%define FILE_READ_PROPERTIES FILE_READ_EA
%define FILE_WRITE_EA 10h
%define FILE_WRITE_PROPERTIES FILE_WRITE_EA
%define FILE_EXECUTE 20h
%define FILE_TRAVERSE 20h
%define FILE_DELETE_CHILD 40h
%define FILE_READ_ATTRIBUTES 80h
%define FILE_WRITE_ATTRIBUTES 100h
%define FILE_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|1FFh
%define FILE_GENERIC_READ STANDARD_RIGHTS_READ|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONIZE
%define FILE_GENERIC_WRITE STANDARD_RIGHTS_WRITE|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONIZE
%define FILE_GENERIC_EXECUTE STANDARD_RIGHTS_EXECUTE|FILE_READ_ATTRIBUTES|FILE_EXECUTE|SYNCHRONIZE
%define FILE_SHARE_READ 1h
%define FILE_SHARE_WRITE 2h
%define FILE_ATTRIBUTE_READONLY 1h
%define FILE_ATTRIBUTE_HIDDEN 2h
%define FILE_ATTRIBUTE_SYSTEM 4h
%define FILE_ATTRIBUTE_DIRECTORY 10h
%define FILE_ATTRIBUTE_ARCHIVE 20h
%define FILE_ATTRIBUTE_NORMAL 80h
%define FILE_ATTRIBUTE_TEMPORARY 100h
%define FILE_ATTRIBUTE_COMPRESSED 800h
%define FILE_NOTIFY_CHANGE_FILE_NAME 1h
%define FILE_NOTIFY_CHANGE_DIR_NAME 2h
%define FILE_NOTIFY_CHANGE_ATTRIBUTES 4h
%define FILE_NOTIFY_CHANGE_SIZE 8h
%define FILE_NOTIFY_CHANGE_LAST_WRITE 10h
%define FILE_NOTIFY_CHANGE_SECURITY 100h
%define MAILSLOT_NO_MESSAGE -1
%define MAILSLOT_WAIT_FOREVER -1
%define FILE_CASE_SENSITIVE_SEARCH 1h
%define FILE_CASE_PRESERVED_NAMES 2h
%define FILE_UNICODE_ON_DISK 4h
%define FILE_PERSISTENT_ACLS 8h
%define FILE_FILE_COMPRESSION 10h
%define FILE_VOLUME_IS_COMPRESSED 8000h
%define IO_COMPLETION_MODIFY_STATE 2h
%define IO_COMPLETION_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|3h
%define DUPLICATE_CLOSE_SOURCE 1h
%define DUPLICATE_SAME_ACCESS 2h
%define ACCESS_SYSTEM_SECURITY 1000000h
%define MAXIMUM_ALLOWED 2000000h
%define GENERIC_READ 80000000h
%define GENERIC_WRITE 40000000h
%define GENERIC_EXECUTE 20000000h
%define GENERIC_ALL 10000000h
%define ACL_REVISION 2
%define ACL_REVISION1 1
%define ACL_REVISION2 2
%define ACCESS_ALLOWED_ACE_TYPE 0h
%define ACCESS_DENIED_ACE_TYPE 1h
%define SYSTEM_AUDIT_ACE_TYPE 2h
%define SYSTEM_ALARM_ACE_TYPE 3h
%define HELPINFO_WINDOW 1
%define HELPINFO_MENUITEM 2
%define OBJECT_INHERIT_ACE 1h
%define CONTAINER_INHERIT_ACE 2h
%define NO_PROPAGATE_INHERIT_ACE 4h
%define INHERIT_ONLY_ACE 8h
%define VALID_INHERIT_FLAGS 0Fh
%define SUCCESSFUL_ACCESS_ACE_FLAG 40h
%define FAILED_ACCESS_ACE_FLAG 80h
%define AclRevisionInformation 1
%define AclSizeInformation 2
%define SECURITY_DESCRIPTOR_REVISION 1
%define SECURITY_DESCRIPTOR_REVISION1 1
%define SECURITY_DESCRIPTOR_MIN_LENGTH 20
%define SE_OWNER_DEFAULTED 1h
%define SE_GROUP_DEFAULTED 2h
%define SE_DACL_PRESENT 4h
%define SE_DACL_DEFAULTED 8h
%define SE_SACL_PRESENT 10h
%define SE_SACL_DEFAULTED 20h
%define SE_SELF_RELATIVE 8000h
%define SE_PRIVILEGE_ENABLED_BY_DEFAULT 1h
%define SE_PRIVILEGE_ENABLED 2h
%define SE_PRIVILEGE_USED_FOR_ACCESS 80000000h
%define PRIVILEGE_SET_ALL_NECESSARY 1
%define SecurityAnonymous 1
%define SecurityIdentification 2
%define REG_OPTION_RESERVED 0
%define REG_OPTION_NON_VOLATILE 0
%define REG_OPTION_VOLATILE 1
%define REG_OPTION_CREATE_LINK 2
%define REG_OPTION_BACKUP_RESTORE 4
%define REG_NONE 0
%define REG_SZ 1
%define REG_EXPAND_SZ 2
%define REG_BINARY 3
%define REG_DWORD 4
%define REG_DWORD_LITTLE_ENDIAN 4
%define REG_DWORD_BIG_ENDIAN 5
%define REG_LINK 6
%define REG_MULTI_SZ 7
%define REG_RESOURCE_LIST 8
%define REG_FULL_RESOURCE_DESCRIPTOR 9
%define REG_RESOURCE_REQUIREMENTS_LIST 10
%define REG_CREATED_NEW_KEY 1h
%define REG_OPENED_EXISTING_KEY 2h
%define REG_WHOLE_HIVE_VOLATILE 1h
%define REG_REFRESH_HIVE 2h
%define REG_NOTIFY_CHANGE_NAME 1h
%define REG_NOTIFY_CHANGE_ATTRIBUTES 2h
%define REG_NOTIFY_CHANGE_LAST_SET 4h
%define REG_NOTIFY_CHANGE_SECURITY 8h
%define REG_LEGAL_CHANGE_FILTER REG_NOTIFY_CHANGE_NAME|REG_NOTIFY_CHANGE_ATTRIBUTES|REG_NOTIFY_CHANGE_LAST_SET|REG_NOTIFY_CHANGE_SECURITY
%define REG_LEGAL_OPTION REG_OPTION_RESERVED|REG_OPTION_NON_VOLATILE|REG_OPTION_VOLATILE|REG_OPTION_CREATE_LINK|REG_OPTION_BACKUP_RESTORE
%define KEY_QUERY_VALUE 1h
%define KEY_SET_VALUE 2h
%define KEY_CREATE_SUB_KEY 4h
%define KEY_ENUMERATE_SUB_KEYS 8h
%define KEY_NOTIFY 10h
%define KEY_CREATE_LINK 20h
%define KEY_READ STANDARD_RIGHTS_READ|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY&(-1-SYNCHRONIZE)
%define KEY_WRITE STANDARD_RIGHTS_WRITE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|SYNCHRONIZE&(-1-SYNCHRONIZE)
%define KEY_EXECUTE KEY_READ
%define KEY_ALL_ACCESS STANDARD_RIGHTS_ALL|KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|KEY_CREATE_LINK&(-1-SYNCHRONIZE)
%define EXCEPTION_DEBUG_EVENT 1
%define CREATE_THREAD_DEBUG_EVENT 2
%define CREATE_PROCESS_DEBUG_EVENT 3
%define EXIT_THREAD_DEBUG_EVENT 4
%define EXIT_PROCESS_DEBUG_EVENT 5
%define LOAD_DLL_DEBUG_EVENT 6
%define UNLOAD_DLL_DEBUG_EVENT 7
%define OUTPUT_DEBUG_STRING_EVENT 8
%define RIP_EVENT 9
%define EXCEPTION_MAXIMUM_PARAMETERS 15
%define DRIVE_REMOVABLE 2
%define DRIVE_FIXED 3
%define DRIVE_REMOTE 4
%define DRIVE_CDROM 5
%define DRIVE_RAMDISK 6
%define FILE_TYPE_UNKNOWN 0h
%define FILE_TYPE_DISK 1h
%define FILE_TYPE_CHAR 2h
%define FILE_TYPE_PIPE 3h
%define FILE_TYPE_REMOTE 8000h
%define STD_INPUT_HANDLE -10
%define STD_OUTPUT_HANDLE -11
%define STD_ERROR_HANDLE -12
%define NOPARITY 0
%define ODDPARITY 1
%define EVENPARITY 2
%define MARKPARITY 3
%define SPACEPARITY 4
%define ONESTOPBIT 0
%define ONE5STOPBITS 1
%define TWOSTOPBITS 2
%define IGNORE 0
%define INFINITE 0FFFFh
%define CBR_110 110
%define CBR_300 300
%define CBR_600 600
%define CBR_1200 1200
%define CBR_2400 2400
%define CBR_4800 4800
%define CBR_9600 9600
%define CBR_14400 14400
%define CBR_19200 19200
%define CBR_38400 38400
%define CBR_56000 56000
%define CBR_57600 57600
%define CBR_115200 115200
%define CBR_128000 128000
%define CBR_256000 256000
%define CE_RXOVER 1h
%define CE_OVERRUN 2h
%define CE_RXPARITY 4h
%define CE_FRAME 8h
%define CE_BREAK 10h
%define CE_TXFULL 100h
%define CE_PTO 200h
%define CE_IOE 400h
%define CE_DNS 800h
%define CE_OOP 1000h
%define CE_MODE 8000h
%define IE_BADID -1
%define IE_OPEN -2
%define IE_NOPEN -3
%define IE_MEMORY -4
%define IE_DEFAULT -5
%define IE_HARDWARE -10
%define IE_BYTESIZE -11
%define IE_BAUDRATE -12
%define EV_RXCHAR 1h
%define EV_RXFLAG 2h
%define EV_TXEMPTY 4h
%define EV_CTS 8h
%define EV_DSR 10h
%define EV_RLSD 20h
%define EV_BREAK 40h
%define EV_ERR 80h
%define EV_RING 100h
%define EV_PERR 200h
%define EV_RX80FULL 400h
%define EV_EVENT1 800h
%define EV_EVENT2 1000h
%define SETXOFF 1
%define SETXON 2
%define SETRTS 3
%define CLRRTS 4
%define SETDTR 5
%define CLRDTR 6
%define RESETDEV 7
%define SETBREAK 8
%define CLRBREAK 9
%define PURGE_TXABORT 1h
%define PURGE_RXABORT 2h
%define PURGE_TXCLEAR 4h
%define PURGE_RXCLEAR 8h
%define LPTx 80h
%define MS_CTS_ON 10h
%define MS_DSR_ON 20h
%define MS_RING_ON 40h
%define MS_RLSD_ON 80h
%define S_QUEUEEMPTY 0
%define S_THRESHOLD 1
%define S_ALLTHRESHOLD 2
%define S_NORMAL 0
%define S_LEGATO 1
%define S_STACCATO 2
%define S_PERIOD512 0
%define S_PERIOD1024 1
%define S_PERIOD2048 2
%define S_PERIODVOICE 3
%define S_WHITE512 4
%define S_WHITE1024 5
%define S_WHITE2048 6
%define S_WHITEVOICE 7
%define S_SERDVNA -1
%define S_SEROFM -2
%define S_SERMACT -3
%define S_SERQFUL -4
%define S_SERBDNT -5
%define S_SERDLN -6
%define S_SERDCC -7
%define S_SERDTP -8
%define S_SERDVL -9
%define S_SERDMD -10
%define S_SERDSH -11
%define S_SERDPT -12
%define S_SERDFQ -13
%define S_SERDDR -14
%define S_SERDSR -15
%define S_SERDST -16
%define NMPWAIT_WAIT_FOREVER 0FFFFh
%define NMPWAIT_NOWAIT 1h
%define NMPWAIT_USE_DEFAULT_WAIT 0h
%define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES
%define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH
%define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK
%define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS
%define SECTION_QUERY 1h
%define SECTION_MAP_WRITE 2h
%define SECTION_MAP_READ 4h
%define SECTION_MAP_EXECUTE 8h
%define SECTION_EXTEND_SIZE 10h
%define SECTION_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|SECTION_MAP_WRITE|SECTION_MAP_READ|SECTION_MAP_EXECUTE|SECTION_EXTEND_SIZE
%define FILE_MAP_COPY SECTION_QUERY
%define FILE_MAP_WRITE SECTION_MAP_WRITE
%define FILE_MAP_READ SECTION_MAP_READ
%define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS
%define OF_READ 0h
%define OF_WRITE 1h
%define OF_READWRITE 2h
%define OF_SHARE_COMPAT 0h
%define OF_SHARE_EXCLUSIVE 10h
%define OF_SHARE_DENY_WRITE 20h
%define OF_SHARE_DENY_READ 30h
%define OF_SHARE_DENY_NONE 40h
%define OF_PARSE 100h
%define OF_DELETE 200h
%define OF_VERIFY 400h
%define OF_CANCEL 800h
%define OF_CREATE 1000h
%define OF_PROMPT 2000h
%define OF_EXIST 4000h
%define OF_REOPEN 8000h
%define OFS_MAXPATHNAME 128
%define DONT_RESOLVE_DLL_REFERENCES 1h
%define TC_NORMAL 0
%define TC_HARDERR 1
%define TC_GP_TRAP 2
%define TC_SIGNAL 3
%define WC_DEFAULTCHECK 100h
%define LOCALE_USER_DEFAULT 0000h
%define LOCALE_SNATIVEDIGITS 13h
%define TF_FORCEDRIVE 80h
%define LOCKFILE_FAIL_IMMEDIATELY 1h
%define LOCKFILE_EXCLUSIVE_LOCK 2h
%define LNOTIFY_OUTOFMEM 0
%define LNOTIFY_MOVE 1
%define LNOTIFY_DISCARD 2
%define SLE_ERROR 1h
%define SLE_MINORERROR 2h
%define SLE_WARNING 3h
%define SEM_FAILCRITICALERRORS 1h
%define SEM_NOGPFAULTERRORBOX 2h
%define SEM_NOOPENFILEERRORBOX 8000h
%define RT_CURSOR 1
%define RT_BITMAP 2
%define RT_ICON 3
%define RT_MENU 4
%define RT_DIALOG 5
%define RT_STRING 6
%define RT_FONTDIR 7
%define RT_FONT 8
%define RT_ACCELERATOR 9
%define RT_RCDATA 10
%define DFC_CAPTION 1
%define DFC_MENU 2
%define DFC_SCROLL 3
%define DFC_BUTTON 4
%define DFCS_CAPTIONCLOSE 0000h
%define DFCS_CAPTIONMIN 0001h
%define DFCS_CAPTIONMAX 0002h
%define DFCS_CAPTIONRESTORE 0003h
%define DFCS_CAPTIONHELP 0004h
%define DFCS_MENUARROW 0000h
%define DFCS_MENUCHECK 0001h
%define DFCS_MENUBULLET 0002h
%define DFCS_MENUARROWRIGHT 0004h
%define DFCS_SCROLLUP 0000h
%define DFCS_SCROLLDOWN 0001h
%define DFCS_SCROLLLEFT 0002h
%define DFCS_SCROLLRIGHT 0003h
%define DFCS_SCROLLCOMBOBOX 0005h
%define DFCS_SCROLLSIZEGRIP 0008h
%define DFCS_SCROLLSIZEGRIPRIGHT 0010h
%define DFCS_BUTTONCHECK 0000h
%define DFCS_BUTTONRADIOIMAGE 0001h
%define DFCS_BUTTONRADIOMASK 0002h
%define DFCS_BUTTONRADIO 0004h
%define DFCS_BUTTON3STATE 0008h
%define DFCS_BUTTONPUSH 0010h
%define DFCS_INACTIVE 0100h
%define DFCS_PUSHED 0200h
%define DFCS_CHECKED 0400h
%define DFCS_ADJUSTRECT 2000h
%define DFCS_FLAT 4000h
%define DFCS_MONO 8000h
%define DDD_RAW_TARGET_PATH 1h
%define DDD_REMOVE_DEFINITION 2h
%define DDD_EXACT_MATCH_ON_REMOVE 4h
%define MAX_PATH 260
%define MOVEFILE_REPLACE_EXISTING 1h
%define MOVEFILE_COPY_ALLOWED 2h
%define MOVEFILE_DELAY_UNTIL_REBOOT 4h
%define TokenUser 1
%define TokenGroups 2
%define TokenPrivileges 3
%define TokenOwner 4
%define TokenPrimaryGroup 5
%define TokenDefaultDacl 6
%define TokenSource 7
%define TokenType 8
%define TokenImpersonationLevel 9
%define TokenStatistics 10
%define GET_TAPE_MEDIA_INFORMATION 0
%define GET_TAPE_DRIVE_INFORMATION 1
%define SET_TAPE_MEDIA_INFORMATION 0
%define SET_TAPE_DRIVE_INFORMATION 1
%define FORMAT_MESSAGE_ALLOCATE_BUFFER 100h
%define FORMAT_MESSAGE_IGNORE_INSERTS 200h
%define FORMAT_MESSAGE_FROM_STRING 400h
%define FORMAT_MESSAGE_FROM_HMODULE 800h
%define FORMAT_MESSAGE_FROM_SYSTEM 1000h
%define FORMAT_MESSAGE_ARGUMENT_ARRAY 2000h
%define FORMAT_MESSAGE_MAX_WIDTH_MASK 0FFh
%define TLS_OUT_OF_INDEXES 0FFFFh
%define BACKUP_DATA 1h
%define BACKUP_EA_DATA 2h
%define BACKUP_SECURITY_DATA 3h
%define BACKUP_ALTERNATE_DATA 4h
%define BACKUP_LINK 5h
%define STREAM_MODIFIED_WHEN_READ 1h
%define STREAM_CONTAINS_SECURITY 2h
%define STARTF_USESHOWWINDOW 1h
%define STARTF_USESIZE 2h
%define STARTF_USEPOSITION 4h
%define STARTF_USECOUNTCHARS 8h
%define STARTF_USEFILLATTRIBUTE 10h
%define STARTF_RUNFULLSCREEN 20h
%define STARTF_FORCEONFEEDBACK 40h
%define STARTF_FORCEOFFFEEDBACK 80h
%define STARTF_USESTDHANDLES 100h
%define SHUTDOWN_NORETRY 1h
%define RIGHT_ALT_PRESSED 1h
%define LEFT_ALT_PRESSED 2h
%define RIGHT_CTRL_PRESSED 4h
%define LEFT_CTRL_PRESSED 8h
%define SHIFT_PRESSED 10h
%define NUMLOCK_ON 20h
%define SCROLLLOCK_ON 40h
%define CAPSLOCK_ON 80h
%define ENHANCED_KEY 100h
%define FROM_LEFT_1ST_BUTTON_PRESSED 1h
%define RIGHTMOST_BUTTON_PRESSED 2h
%define FROM_LEFT_2ND_BUTTON_PRESSED 4h
%define FROM_LEFT_3RD_BUTTON_PRESSED 8h
%define FROM_LEFT_4TH_BUTTON_PRESSED 10h
%define MOUSE_MOVED 1h
%define DOUBLE_CLICK 2h
%define KEY_EVENT 1h
%define mouse_eventC 2h
%define WINDOW_BUFFER_SIZE_EVENT 4h
%define MENU_EVENT 8h
%define FOCUS_EVENT 10h
%define FOREGROUND_BLUE 1h
%define FOREGROUND_GREEN 2h
%define FOREGROUND_RED 4h
%define FOREGROUND_INTENSITY 8h
%define BACKGROUND_BLUE 10h
%define BACKGROUND_GREEN 20h
%define BACKGROUND_RED 40h
%define BACKGROUND_INTENSITY 80h
%define CTRL_C_EVENT 0
%define CTRL_BREAK_EVENT 1
%define CTRL_CLOSE_EVENT 2
%define CTRL_LOGOFF_EVENT 5
%define CTRL_SHUTDOWN_EVENT 6
%define ENABLE_PROCESSED_INPUT 1h
%define ENABLE_LINE_INPUT 2h
%define ENABLE_ECHO_INPUT 4h
%define ENABLE_WINDOW_INPUT 8h
%define ENABLE_MOUSE_INPUT 10h
%define ENABLE_PROCESSED_OUTPUT 1h
%define ENABLE_WRAP_AT_EOL_OUTPUT 2h
%define CONSOLE_TEXTMODE_BUFFER 1
%define R2_BLACK 1
%define R2_NOTMERGEPEN 2
%define R2_MASKNOTPEN 3
%define R2_NOTCOPYPEN 4
%define R2_MASKPENNOT 5
%define R2_NOT 6
%define R2_XORPEN 7
%define R2_NOTMASKPEN 8
%define R2_MASKPEN 9
%define R2_NOTXORPEN 10
%define R2_NOP 11
%define R2_MERGENOTPEN 12
%define R2_COPYPEN 13
%define R2_MERGEPENNOT 14
%define R2_MERGEPEN 15
%define R2_WHITE 16
%define R2_LAST 16
%define SRCCOPY 0CC0020h
%define SRCPAINT 0EE0086h
%define SRCAND 8800C6h
%define SRCINVERT 660046h
%define SRCERASE 440328h
%define NOTSRCCOPY 330008h
%define NOTSRCERASE 1100A6h
%define MERGECOPY 0C000CAh
%define MERGEPAINT 0BB0226h
%define PATCOPY 0F00021h
%define PATPAINT 0FB0A09h
%define PATINVERT 5A0049h
%define DSTINVERT 550009h
%define BLACKNESS 42h
%define WHITENESS 0FF0062h
%define GDI_ERROR 0FFFFh
%define HGDI_ERROR 0FFFFh
%define ERRORAPI 0
%define NULLREGION 1
%define SIMPLEREGION 2
%define COMPLEXREGION 3
%define RGN_AND 1
%define RGN_OR 2
%define RGN_XOR 3
%define RGN_DIFF 4
%define RGN_COPY 5
%define RGN_MIN RGN_AND
%define RGN_MAX RGN_COPY
%define BLACKONWHITE 1
%define WHITEONBLACK 2
%define COLORONCOLOR 3
%define HALFTONE 4
%define MAXSTRETCHBLTMODE 4
%define ALTERNATE 1
%define WINDING 2
%define POLYFILL_LAST 2
%define TA_NOUPDATECP 0
%define TA_UPDATECP 1
%define TA_LEFT 0
%define TA_RIGHT 2
%define TA_CENTER 6
%define TA_TOP 0
%define TA_BOTTOM 8
%define TA_BASELINE 24
%define TA_MASK TA_BASELINE+TA_CENTER+TA_UPDATECP
%define VTA_BASELINE TA_BASELINE
%define VTA_LEFT TA_BOTTOM
%define VTA_RIGHT TA_TOP
%define VTA_CENTER TA_CENTER
%define VTA_BOTTOM TA_RIGHT
%define VTA_TOP TA_LEFT
%define ETO_GRAYED 1
%define ETO_OPAQUE 2
%define ETO_CLIPPED 4
%define ASPECT_FILTERING 1h
%define DCB_RESET 1h
%define DCB_ACCUMULATE 2h
%define DCB_DIRTY DCB_ACCUMULATE
%define DCB_SET DCB_RESET|DCB_ACCUMULATE
%define DCB_ENABLE 4h
%define DCB_DISABLE 8h
%define META_SETBKCOLOR 201h
%define META_SETBKMODE 102h
%define META_SETMAPMODE 103h
%define META_SETROP2 104h
%define META_SETRELABS 105h
%define META_SETPOLYFILLMODE 106h
%define META_SETSTRETCHBLTMODE 107h
%define META_SETTEXTCHAREXTRA 108h
%define META_SETTEXTCOLOR 209h
%define META_SETTEXTJUSTIFICATION 20Ah
%define META_SETWINDOWORG 20Bh
%define META_SETWINDOWEXT 20Ch
%define META_SETVIEWPORTORG 20Dh
%define META_SETVIEWPORTEXT 20Eh
%define META_OFFSETWINDOWORG 20Fh
%define META_SCALEWINDOWEXT 410h
%define META_OFFSETVIEWPORTORG 211h
%define META_SCALEVIEWPORTEXT 412h
%define META_LINETO 213h
%define META_MOVETO 214h
%define META_EXCLUDECLIPRECT 415h
%define META_INTERSECTCLIPRECT 416h
%define META_ARC 817h
%define META_ELLIPSE 418h
%define META_FLOODFILL 419h
%define META_PIE 81Ah
%define META_RECTANGLE 41Bh
%define META_ROUNDRECT 61Ch
%define META_PATBLT 61Dh
%define META_SAVEDC 1Eh
%define META_SETPIXEL 41Fh
%define META_OFFSETCLIPRGN 220h
%define META_TEXTOUT 521h
%define META_BITBLT 922h
%define META_STRETCHBLT 0B23h
%define META_POLYGON 324h
%define META_POLYLINE 325h
%define META_ESCAPE 626h
%define META_RESTOREDC 127h
%define META_FILLREGION 228h
%define META_FRAMEREGION 429h
%define META_INVERTREGION 12Ah
%define META_PAINTREGION 12Bh
%define META_SELECTCLIPREGION 12Ch
%define META_SELECTOBJECT 12Dh
%define META_SETTEXTALIGN 12Eh
%define META_CHORD 830h
%define META_SETMAPPERFLAGS 231h
%define META_EXTTEXTOUT 0A32h
%define META_SETDIBTODEV 0D33h
%define META_SELECTPALETTE 234h
%define META_REALIZEPALETTE 35h
%define META_ANIMATEPALETTE 436h
%define META_SETPALENTRIES 37h
%define META_POLYPOLYGON 538h
%define META_RESIZEPALETTE 139h
%define META_DIBBITBLT 940h
%define META_DIBSTRETCHBLT 0B41h
%define META_DIBCREATEPATTERNBRUSH 142h
%define META_STRETCHDIB 0F43h
%define META_EXTFLOODFILL 548h
%define META_DELETEOBJECT 1F0h
%define META_CREATEPALETTE 0F7h
%define META_CREATEPATTERNBRUSH 1F9h
%define META_CREATEPENINDIRECT 2FAh
%define META_CREATEFONTINDIRECT 2FBh
%define META_CREATEBRUSHINDIRECT 2FCh
%define META_CREATEREGION 6FFh
%define NEWFRAME 1
%define AbortDocC 2
%define NEXTBAND 3
%define SETCOLORTABLE 4
%define GETCOLORTABLE 5
%define FLUSHOUTPUT 6
%define DRAFTMODE 7
%define QUERYESCSUPPORT 8
%define SETABORTPROC 9
%define StartDocC 10
%define EndDocC 11
%define GETPHYSPAGESIZE 12
%define GETPRINTINGOFFSET 13
%define GETSCALINGFACTOR 14
%define MFCOMMENT 15
%define GETPENWIDTH 16
%define SETCOPYCOUNT 17
%define SELECTPAPERSOURCE 18
%define DEVICEDATA 19
%define PASSTHROUGH 19
%define GETTECHNOLGY 20
%define GETTECHNOLOGY 20
%define SETLINECAP 21
%define SETLINEJOIN 22
%define SetMiterLimitC 23
%define BANDINFO 24
%define DRAWPATTERNRECT 25
%define GETVECTORPENSIZE 26
%define GETVECTORBRUSHSIZE 27
%define ENABLEDUPLEX 28
%define GETSETPAPERBINS 29
%define GETSETPRINTORIENT 30
%define ENUMPAPERBINS 31
%define SETDIBSCALING 32
%define EPSPRINTING 33
%define ENUMPAPERMETRICS 34
%define GETSETPAPERMETRICS 35
%define POSTSCRIPT_DATA 37
%define POSTSCRIPT_IGNORE 38
%define MOUSETRAILS 39
%define GETDEVICEUNITS 42
%define GETEXTENDEDTEXTMETRICS 256
%define GETEXTENTTABLE 257
%define GETPAIRKERNTABLE 258
%define GETTRACKKERNTABLE 259
%define ExtTextOutC 512
%define GETFACENAME 513
%define DOWNLOADFACE 514
%define ENABLERELATIVEWIDTHS 768
%define ENABLEPAIRKERNING 769
%define SETKERNTRACK 770
%define SETALLJUSTVALUES 771
%define SETCHARSET 772
%define StretchBltC 2048
%define GETSETSCREENPARAMS 3072
%define BEGIN_PATH 4096
%define CLIP_TO_PATH 4097
%define END_PATH 4098
%define EXT_DEVICE_CAPS 4099
%define RESTORE_CTM 4100
%define SAVE_CTM 4101
%define SET_ARC_DIRECTION 4102
%define SET_BACKGROUND_COLOR 4103
%define SET_POLY_MODE 4104
%define SET_SCREEN_ANGLE 4105
%define SET_SPREAD 4106
%define TRANSFORM_CTM 4107
%define SET_CLIP_BOX 4108
%define SET_BOUNDS 4109
%define SET_MIRROR_MODE 4110
%define OPENCHANNEL 4110
%define DOWNLOADHEADER 4111
%define CLOSECHANNEL 4112
%define POSTSCRIPT_PASSTHROUGH 4115
%define ENCAPSULATED_POSTSCRIPT 4116
%define SP_NOTREPORTED 4000h
%define SP_ERROR -1
%define SP_APPABORT -2
%define SP_USERABORT -3
%define SP_OUTOFDISK -4
%define SP_OUTOFMEMORY -5
%define PR_JOBSTATUS 0h
%define OBJ_PEN 1
%define OBJ_BRUSH 2
%define OBJ_DC 3
%define OBJ_METADC 4
%define OBJ_PAL 5
%define OBJ_FONT 6
%define OBJ_BITMAP 7
%define OBJ_REGION 8
%define OBJ_METAFILE 9
%define OBJ_MEMDC 10
%define OBJ_EXTPEN 11
%define OBJ_ENHMETADC 12
%define OBJ_ENHMETAFILE 13
%define MWT_IDENTITY 1
%define MWT_LEFTMULTIPLY 2
%define MWT_RIGHTMULTIPLY 3
%define MWT_MIN MWT_IDENTITY
%define MWT_MAX MWT_RIGHTMULTIPLY
%define BI_RGB 0
%define BI_RLE8 1
%define BI_RLE4 2
%define BI_bitfields 3
%define NTM_REGULAR 40h
%define NTM_BOLD 20h
%define NTM_ITALIC 1h
%define TMPF_FIXED_PITCH 1h
%define TMPF_VECTOR 2h
%define TMPF_DEVICE 8h
%define TMPF_TRUETYPE 4h
%define LF_FACESIZE 32
%define LF_FULLFACESIZE 64
%define OUT_DEFAULT_PRECIS 0
%define OUT_STRING_PRECIS 1
%define OUT_CHARACTER_PRECIS 2
%define OUT_STROKE_PRECIS 3
%define OUT_TT_PRECIS 4
%define OUT_DEVICE_PRECIS 5
%define OUT_RASTER_PRECIS 6
%define OUT_TT_ONLY_PRECIS 7
%define OUT_OUTLINE_PRECIS 8
%define CLIP_DEFAULT_PRECIS 0
%define CLIP_CHARACTER_PRECIS 1
%define CLIP_STROKE_PRECIS 2
%define CLIP_MASK 0Fh
%define CLIP_LH_ANGLES 16
%define CLIP_TT_ALWAYS 32
%define CLIP_EMBEDDED 128
%define DEFAULT_QUALITY 0
%define DRAFT_QUALITY 1
%define PROOF_QUALITY 2
%define DEFAULT_PITCH 0
%define FIXED_PITCH 1
%define VARIABLE_PITCH 2
%define ANSI_CHARSET 0
%define DEFAULT_CHARSET 1
%define SYMBOL_CHARSET 2
%define SHIFTJIS_CHARSET 128
%define HANGEUL_CHARSET 129
%define CHINESEBIG5_CHARSET 136
%define OEM_CHARSET 255
%define FF_DONTCARE 0
%define FF_ROMAN 16
%define FF_SWISS 32
%define FF_MODERN 48
%define FF_SCRIPT 64
%define FF_DECORATIVE 80
%define FW_DONTCARE 0
%define FW_THIN 100
%define FW_EXTRALIGHT 200
%define FW_LIGHT 300
%define FW_NORMAL 400
%define FW_MEDIUM 500
%define FW_SEMIBOLD 600
%define FW_BOLD 700
%define FW_EXTRABOLD 800
%define FW_HEAVY 900
%define FW_ULTRALIGHT FW_EXTRALIGHT
%define FW_REGULAR FW_NORMAL
%define FW_DEMIBOLD FW_SEMIBOLD
%define FW_ULTRABOLD FW_EXTRABOLD
%define FW_BLACK FW_HEAVY
%define PANOSE_COUNT 10
%define PAN_FAMILYTYPE_INDEX 0
%define PAN_SERIFSTYLE_INDEX 1
%define PAN_WEIGHT_INDEX 2
%define PAN_PROPORTION_INDEX 3
%define PAN_CONTRAST_INDEX 4
%define PAN_STROKEVARIATION_INDEX 5
%define PAN_ARMSTYLE_INDEX 6
%define PAN_LETTERFORM_INDEX 7
%define PAN_MIDLINE_INDEX 8
%define PAN_XHEIGHT_INDEX 9
%define PAN_CULTURE_LATIN 0
%define PAN_ANY 0
%define PAN_NO_FIT 1
%define PAN_FAMILY_TEXT_DISPLAY 2
%define PAN_FAMILY_SCRIPT 3
%define PAN_FAMILY_DECORATIVE 4
%define PAN_FAMILY_PICTORIAL 5
%define PAN_SERIF_COVE 2
%define PAN_SERIF_OBTUSE_COVE 3
%define PAN_SERIF_SQUARE_COVE 4
%define PAN_SERIF_OBTUSE_SQUARE_COVE 5
%define PAN_SERIF_SQUARE 6
%define PAN_SERIF_THIN 7
%define PAN_SERIF_BONE 8
%define PAN_SERIF_EXAGGERATED 9
%define PAN_SERIF_TRIANGLE 10
%define PAN_SERIF_NORMAL_SANS 11
%define PAN_SERIF_OBTUSE_SANS 12
%define PAN_SERIF_PERP_SANS 13
%define PAN_SERIF_FLARED 14
%define PAN_SERIF_ROUNDED 15
%define PAN_WEIGHT_VERY_LIGHT 2
%define PAN_WEIGHT_LIGHT 3
%define PAN_WEIGHT_THIN 4
%define PAN_WEIGHT_BOOK 5
%define PAN_WEIGHT_MEDIUM 6
%define PAN_WEIGHT_DEMI 7
%define PAN_WEIGHT_BOLD 8
%define PAN_WEIGHT_HEAVY 9
%define PAN_WEIGHT_BLACK 10
%define PAN_WEIGHT_NORD 11
%define PAN_PROP_OLD_STYLE 2
%define PAN_PROP_MODERN 3
%define PAN_PROP_EVEN_WIDTH 4
%define PAN_PROP_EXPANDED 5
%define PAN_PROP_CONDENSED 6
%define PAN_PROP_VERY_EXPANDED 7
%define PAN_PROP_VERY_CONDENSED 8
%define PAN_PROP_MONOSPACED 9
%define PAN_CONTRAST_NONE 2
%define PAN_CONTRAST_VERY_LOW 3
%define PAN_CONTRAST_LOW 4
%define PAN_CONTRAST_MEDIUM_LOW 5
%define PAN_CONTRAST_MEDIUM 6
%define PAN_CONTRAST_MEDIUM_HIGH 7
%define PAN_CONTRAST_HIGH 8
%define PAN_CONTRAST_VERY_HIGH 9
%define PAN_STROKE_GRADUAL_DIAG 2
%define PAN_STROKE_GRADUAL_TRAN 3
%define PAN_STROKE_GRADUAL_VERT 4
%define PAN_STROKE_GRADUAL_HORZ 5
%define PAN_STROKE_RAPID_VERT 6
%define PAN_STROKE_RAPID_HORZ 7
%define PAN_STROKE_INSTANT_VERT 8
%define PAN_STRAIGHT_ARMS_HORZ 2
%define PAN_STRAIGHT_ARMS_WEDGE 3
%define PAN_STRAIGHT_ARMS_VERT 4
%define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
%define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
%define PAN_BENT_ARMS_HORZ 7
%define PAN_BENT_ARMS_WEDGE 8
%define PAN_BENT_ARMS_VERT 9
%define PAN_BENT_ARMS_SINGLE_SERIF 10
%define PAN_BENT_ARMS_DOUBLE_SERIF 11
%define PAN_LETT_NORMAL_CONTACT 2
%define PAN_LETT_NORMAL_WEIGHTED 3
%define PAN_LETT_NORMAL_BOXED 4
%define PAN_LETT_NORMAL_FLATTENED 5
%define PAN_LETT_NORMAL_ROUNDED 6
%define PAN_LETT_NORMAL_OFF_CENTER 7
%define PAN_LETT_NORMAL_SQUARE 8
%define PAN_LETT_OBLIQUE_CONTACT 9
%define PAN_LETT_OBLIQUE_WEIGHTED 10
%define PAN_LETT_OBLIQUE_BOXED 11
%define PAN_LETT_OBLIQUE_FLATTENED 12
%define PAN_LETT_OBLIQUE_ROUNDED 13
%define PAN_LETT_OBLIQUE_OFF_CENTER 14
%define PAN_LETT_OBLIQUE_SQUARE 15
%define PAN_MIDLINE_STANDARD_TRIMMED 2
%define PAN_MIDLINE_STANDARD_POINTED 3
%define PAN_MIDLINE_STANDARD_SERIFED 4
%define PAN_MIDLINE_HIGH_TRIMMED 5
%define PAN_MIDLINE_HIGH_POINTED 6
%define PAN_MIDLINE_HIGH_SERIFED 7
%define PAN_MIDLINE_CONSTANT_TRIMMED 8
%define PAN_MIDLINE_CONSTANT_POINTED 9
%define PAN_MIDLINE_CONSTANT_SERIFED 10
%define PAN_MIDLINE_LOW_TRIMMED 11
%define PAN_MIDLINE_LOW_POINTED 12
%define PAN_MIDLINE_LOW_SERIFED 13
%define PAN_XHEIGHT_CONSTANT_SMALL 2
%define PAN_XHEIGHT_CONSTANT_STD 3
%define PAN_XHEIGHT_CONSTANT_LARGE 4
%define PAN_XHEIGHT_DUCKING_SMALL 5
%define PAN_XHEIGHT_DUCKING_STD 6
%define PAN_XHEIGHT_DUCKING_LARGE 7
%define ELF_VENDOR_SIZE 4
%define ELF_VERSION 0
%define ELF_CULTURE_LATIN 0
%define RASTER_FONTTYPE 1h
%define DEVICE_FONTTYPE 2h
%define TRUETYPE_FONTTYPE 4h
%define PC_RESERVED 1h
%define PC_EXPLICIT 2h
%define PC_NOCOLLAPSE 4h
%define TRANSPARENT 1
%define OPAQUE 2
%define BKMODE_LAST 2
%define GM_COMPATIBLE 1
%define GM_ADVANCED 2
%define GM_LAST 2
%define PT_CLOSEFIGURE 1h
%define PT_LINETO 2h
%define PT_BEZIERTO 4h
%define PT_MOVETO 6h
%define MM_TEXT 1
%define MM_LOMETRIC 2
%define MM_HIMETRIC 3
%define MM_LOENGLISH 4
%define MM_HIENGLISH 5
%define MM_TWIPS 6
%define MM_ISOTROPIC 7
%define MM_ANISOTROPIC 8
%define MM_MIN MM_TEXT
%define MM_MAX MM_ANISOTROPIC
%define MM_MAX_FIXEDSCALE MM_TWIPS
%define _ABSOLUTE 1
%define RELATIVE 2
%define WHITE_BRUSH 0
%define LTGRAY_BRUSH 1
%define GRAY_BRUSH 2
%define DKGRAY_BRUSH 3
%define BLACK_BRUSH 4
%define NULL_BRUSH 5
%define HOLLOW_BRUSH NULL_BRUSH
%define WHITE_PEN 6
%define BLACK_PEN 7
%define NULL_PEN 8
%define OEM_FIXED_FONT 10
%define ANSI_FIXED_FONT 11
%define ANSI_VAR_FONT 12
%define SYSTEM_FONT 13
%define DEVICE_DEFAULT_FONT 14
%define DEFAULT_PALETTE 15
%define SYSTEM_FIXED_FONT 16
%define STOCK_LAST 16
%define CLR_INVALID 0FFFFh
%define BS_SOLID 0
%define BS_NULL 1
%define BS_HOLLOW BS_NULL
%define BS_HATCHED 2
%define BS_PATTERN 3
%define BS_INDEXED 4
%define BS_DIBPATTERN 5
%define BS_DIBPATTERNPT 6
%define BS_PATTERN8X8 7
%define BS_DIBPATTERN8X8 8
%define HS_HORIZONTAL 0
%define HS_VERTICAL 1
%define HS_FDIAGONAL 2
%define HS_BDIAGONAL 3
%define HS_CROSS 4
%define HS_DIAGCROSS 5
%define HS_FDIAGONAL1 6
%define HS_BDIAGONAL1 7
%define HS_SOLID 8
%define HS_DENSE1 9
%define HS_DENSE2 10
%define HS_DENSE3 11
%define HS_DENSE4 12
%define HS_DENSE5 13
%define HS_DENSE6 14
%define HS_DENSE7 15
%define HS_DENSE8 16
%define HS_NOSHADE 17
%define HS_HALFTONE 18
%define HS_SOLIDCLR 19
%define HS_DITHEREDCLR 20
%define HS_SOLIDTEXTCLR 21
%define HS_DITHEREDTEXTCLR 22
%define HS_SOLIDBKCLR 23
%define HS_DITHEREDBKCLR 24
%define HS_API_MAX 25
%define PS_SOLID 0
%define PS_DASH 1
%define PS_DOT 2
%define PS_DASHDOT 3
%define PS_DASHDOTDOT 4
%define PS_NULL 5
%define PS_INSIDEFRAME 6
%define PS_USERSTYLE 7
%define PS_ALTERNATE 8
%define PS_STYLE_MASK 0Fh
%define PS_ENDCAP_ROUND 0h
%define PS_ENDCAP_SQUARE 100h
%define PS_ENDCAP_FLAT 200h
%define PS_ENDCAP_MASK 0F00h
%define PS_JOIN_ROUND 0h
%define PS_JOIN_BEVEL 1000h
%define PS_JOIN_MITER 2000h
%define PS_JOIN_MASK 0F000h
%define PS_COSMETIC 0h
%define PS_GEOMETRIC 10000h
%define PS_TYPE_MASK 0F0000h
%define AD_COUNTERCLOCKWISE 1
%define AD_CLOCKWISE 2
%define PRF_CHECKVISIBLE 00000001h
%define PRF_NONCLIENT 00000002h
%define PRF_CLIENT 00000004h
%define PRF_ERASEBKGND 00000008h
%define PRF_CHILDREN 00000010h
%define PRF_OWNED 00000020h
%define BDR_RAISEDOUTER 0001h
%define BDR_SUNKENOUTER 0002h
%define BDR_RAISEDINNER 0004h
%define BDR_SUNKENINNER 0008h
%define BDR_OUTER 0003h
%define BDR_INNER 000Ch
%define BDR_RAISED 0005h
%define BDR_SUNKEN 000Ah
%define EDGE_RAISED BDR_RAISEDOUTER|BDR_RAISEDINNER
%define EDGE_SUNKEN BDR_SUNKENOUTER|BDR_SUNKENINNER
%define EDGE_ETCHED BDR_SUNKENOUTER|BDR_RAISEDINNER
%define EDGE_BUMP BDR_RAISEDOUTER|BDR_SUNKENINNER
%define BF_LEFT 0001h
%define BF_TOP 0002h
%define BF_RIGHT 0004h
%define BF_BOTTOM 0008h
%define BF_TOPLEFT BF_TOP|BF_LEFT
%define BF_TOPRIGHT BF_TOP|BF_RIGHT
%define BF_BOTTOMLEFT BF_BOTTOM|BF_LEFT
%define BF_BOTTOMRIGHT BF_BOTTOM|BF_RIGHT
%define BF_RECT BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM
%define BF_DIAGONAL 0010h
%define BF_DIAGONAL_ENDTOPRIGHT BF_DIAGONAL|BF_TOP|BF_RIGHT
%define BF_DIAGONAL_ENDTOPLEFT BF_DIAGONAL|BF_TOP|BF_LEFT
%define BF_DIAGONAL_ENDBOTTOMLEFT BF_DIAGONAL|BF_BOTTOM|BF_LEFT
%define BF_DIAGONAL_ENDBOTTOMRIGHT BF_DIAGONAL|BF_BOTTOM|BF_RIGHT
%define BF_MIDDLE 0800h
%define BF_SOFT 1000h
%define BF_ADJUST 2000h
%define BF_FLAT 4000h
%define BF_MONO 8000h
%define DRIVERVERSION 0
%define TECHNOLOGY 2
%define HORZSIZE 4
%define VERTSIZE 6
%define HORZRES 8
%define VERTRES 10
%define BITSPIXEL 12
%define PLANES 14
%define NUMBRUSHES 16
%define NUMPENS 18
%define NUMMARKERS 20
%define NUMFONTS 22
%define NUMCOLORS 24
%define PDEVICESIZE 26
%define CURVECAPS 28
%define LINECAPS 30
%define POLYGONALCAPS 32
%define TEXTCAPS 34
%define CLIPCAPS 36
%define RASTERCAPS 38
%define ASPECTX 40
%define ASPECTY 42
%define ASPECTXY 44
%define LOGPIXELSX 88
%define LOGPIXELSY 90
%define SIZEPALETTE 104
%define NUMRESERVED 106
%define COLORRES 108
%define PHYSICALWIDTH 110
%define PHYSICALHEIGHT 111
%define PHYSICALOFFSETX 112
%define PHYSICALOFFSETY 113
%define SCALINGFACTORX 114
%define SCALINGFACTORY 115
%define DT_PLOTTER 0
%define DT_RASDISPLAY 1
%define DT_RASPRINTER 2
%define DT_RASCAMERA 3
%define DT_CHARSTREAM 4
%define DT_METAFILE 5
%define DT_DISPFILE 6
%define CC_NONE 0
%define CC_CIRCLES 1
%define CC_PIE 2
%define CC_CHORD 4
%define CC_ELLIPSES 8
%define CC_WIDE 16
%define CC_STYLED 32
%define CC_WIDESTYLED 64
%define CC_INTERIORS 128
%define CC_ROUNDRECT 256
%define LC_NONE 0
%define LC_POLYLINE 2
%define LC_MARKER 4
%define LC_POLYMARKER 8
%define LC_WIDE 16
%define LC_STYLED 32
%define LC_WIDESTYLED 64
%define LC_INTERIORS 128
%define PC_NONE 0
%define PC_POLYGON 1
%define PC_RECTANGLE 2
%define PC_WINDPOLYGON 4
%define PC_TRAPEZOID 4
%define PC_SCANLINE 8
%define PC_WIDE 16
%define PC_STYLED 32
%define PC_WIDESTYLED 64
%define PC_INTERIORS 128
%define CP_NONE 0
%define CP_RECTANGLE 1
%define CP_REGION 2
%define TC_OP_CHARACTER 1h
%define TC_OP_STROKE 2h
%define TC_CP_STROKE 4h
%define TC_CR_90 8h
%define TC_CR_ANY 10h
%define TC_SF_X_YINDEP 20h
%define TC_SA_DOUBLE 40h
%define TC_SA_INTEGER 80h
%define TC_SA_CONTIN 100h
%define TC_EA_DOUBLE 200h
%define TC_IA_ABLE 400h
%define TC_UA_ABLE 800h
%define TC_SO_ABLE 1000h
%define TC_RA_ABLE 2000h
%define TC_VA_ABLE 4000h
%define TC_RESERVED 8000h
%define TC_SCROLLBLT 10000h
%define RC_NONE 0
%define RC_BITBLT 1
%define RC_BANDING 2
%define RC_SCALING 4
%define RC_BITMAP64 8
%define RC_GDI20_OUTPUT 10h
%define RC_GDI20_STATE 20h
%define RC_SAVEBITMAP 40h
%define RC_DI_BITMAP 80h
%define RC_PALETTE 100h
%define RC_DIBTODEV 200h
%define RC_BIGFONT 400h
%define RC_STRETCHBLT 800h
%define RC_FLOODFILL 1000h
%define RC_STRETCHDIB 2000h
%define RC_OP_DX_OUTPUT 4000h
%define RC_DEVBITS 8000h
%define DIB_RGB_COLORS 0
%define DIB_PAL_COLORS 1
%define DIB_PAL_INDICES 2
%define DIB_PAL_PHYSINDICES 2
%define DIB_PAL_LOGINDICES 4
%define SYSPAL_ERROR 0
%define SYSPAL_STATIC 1
%define SYSPAL_NOSTATIC 2
%define CBM_CREATEDIB 2h
%define CBM_INIT 4h
%define FLOODFILLBORDER 0
%define FLOODFILLSURFACE 1
%define CCHDEVICENAME 32
%define CCHFORMNAME 32
%define DM_SPECVERSION 320h
%define DM_ORIENTATION 1h
%define DM_PAPERSIZE 2h
%define DM_PAPERLENGTH 4h
%define DM_PAPERWIDTH 8h
%define DM_SCALE 10h
%define DM_COPIES 100h
%define DM_DEFAULTSOURCE 200h
%define DM_PRINTQUALITY 400h
%define DM_COLOR 800h
%define DM_DUPLEX 1000h
%define DM_YRESOLUTION 2000h
%define DM_TTOPTION 4000h
%define DM_COLLATE 8000h
%define DM_FORMNAME 10000h
%define DMORIENT_PORTRAIT 1
%define DMORIENT_LANDSCAPE 2
%define DMPAPER_LETTER 1
%define DMPAPER_FIRST DMPAPER_LETTER
%define DMPAPER_LETTERSMALL 2
%define DMPAPER_TABLOID 3
%define DMPAPER_LEDGER 4
%define DMPAPER_LEGAL 5
%define DMPAPER_STATEMENT 6
%define DMPAPER_EXECUTIVE 7
%define DMPAPER_A3 8
%define DMPAPER_A4 9
%define DMPAPER_A4SMALL 10
%define DMPAPER_A5 11
%define DMPAPER_B4 12
%define DMPAPER_B5 13
%define DMPAPER_FOLIO 14
%define DMPAPER_QUARTO 15
%define DMPAPER_10X14 16
%define DMPAPER_11X17 17
%define DMPAPER_NOTE 18
%define DMPAPER_ENV_9 19
%define DMPAPER_ENV_10 20
%define DMPAPER_ENV_11 21
%define DMPAPER_ENV_12 22
%define DMPAPER_ENV_14 23
%define DMPAPER_CSHEET 24
%define DMPAPER_DSHEET 25
%define DMPAPER_ESHEET 26
%define DMPAPER_ENV_DL 27
%define DMPAPER_ENV_C5 28
%define DMPAPER_ENV_C3 29
%define DMPAPER_ENV_C4 30
%define DMPAPER_ENV_C6 31
%define DMPAPER_ENV_C65 32
%define DMPAPER_ENV_B4 33
%define DMPAPER_ENV_B5 34
%define DMPAPER_ENV_B6 35
%define DMPAPER_ENV_ITALY 36
%define DMPAPER_ENV_MONARCH 37
%define DMPAPER_ENV_PERSONAL 38
%define DMPAPER_FANFOLD_US 39
%define DMPAPER_FANFOLD_STD_GERMAN 40
%define DMPAPER_FANFOLD_LGL_GERMAN 41
%define DMPAPER_LAST DMPAPER_FANFOLD_LGL_GERMAN
%define DMPAPER_USER 256
%define DMBIN_UPPER 1
%define DMBIN_FIRST DMBIN_UPPER
%define DMBIN_ONLYONE 1
%define DMBIN_LOWER 2
%define DMBIN_MIDDLE 3
%define DMBIN_MANUAL 4
%define DMBIN_ENVELOPE 5
%define DMBIN_ENVMANUAL 6
%define DMBIN_AUTO 7
%define DMBIN_TRACTOR 8
%define DMBIN_SMALLFMT 9
%define DMBIN_LARGEFMT 10
%define DMBIN_LARGECAPACITY 11
%define DMBIN_CASSETTE 14
%define DMBIN_LAST DMBIN_CASSETTE
%define DMBIN_USER 256
%define DMRES_DRAFT -1
%define DMRES_LOW -2
%define DMRES_MEDIUM -3
%define DMRES_HIGH -4
%define DMCOLOR_MONOCHROME 1
%define DMCOLOR_COLOR 2
%define DMDUP_SIMPLEX 1
%define DMDUP_VERTICAL 2
%define DMDUP_HORIZONTAL 3
%define DMTT_BITMAP 1
%define DMTT_DOWNLOAD 2
%define DMTT_SUBDEV 3
%define DMCOLLATE_FALSE 0
%define DMCOLLATE_TRUE 1
%define DM_GRAYSCALE 1h
%define DM_INTERLACED 2h
%define RDH_RECTANGLES 1
%define GGO_METRICS 0
%define GGO_BITMAP 1
%define GGO_NATIVE 2
%define TT_POLYGON_TYPE 24
%define TT_PRIM_LINE 1
%define TT_PRIM_QSPLINE 2
%define TT_AVAILABLE 1h
%define TT_ENABLED 2h
%define DM_UPDATE 1
%define DM_COPY 2
%define DM_PROMPT 4
%define DM_MODIFY 8
%define DM_IN_BUFFER DM_MODIFY
%define DM_IN_PROMPT DM_PROMPT
%define DM_OUT_BUFFER DM_COPY
%define DM_OUT_DEFAULT DM_UPDATE
%define DC_FIELDS 1
%define DC_PAPERS 2
%define DC_PAPERSIZE 3
%define DC_MINEXTENT 4
%define DC_MAXEXTENT 5
%define DC_BINS 6
%define DC_DUPLEX 7
%define DC_SIZE 8
%define DC_EXTRA 9
%define DC_VERSION 10
%define DC_DRIVER 11
%define DC_BINNAMES 12
%define DC_ENUMRESOLUTIONS 13
%define DC_FILEDEPENDENCIES 14
%define DC_TRUETYPE 15
%define DC_PAPERNAMES 16
%define DC_ORIENTATION 17
%define DC_COPIES 18
%define DCTT_BITMAP 1h
%define DCTT_DOWNLOAD 2h
%define DCTT_SUBDEV 4h
%define CA_NEGATIVE 1h
%define CA_LOG_FILTER 2h
%define ILLUMINANT_DEVICE_DEFAULT 0
%define ILLUMINANT_A 1
%define ILLUMINANT_B 2
%define ILLUMINANT_C 3
%define ILLUMINANT_D50 4
%define ILLUMINANT_D55 5
%define ILLUMINANT_D65 6
%define ILLUMINANT_D75 7
%define ILLUMINANT_F2 8
%define ILLUMINANT_MAX_INDEX ILLUMINANT_F2
%define ILLUMINANT_TUNGSTEN ILLUMINANT_A
%define ILLUMINANT_DAYLIGHT ILLUMINANT_C
%define ILLUMINANT_FLUORESCENT ILLUMINANT_F2
%define ILLUMINANT_NTSC ILLUMINANT_C
%define RGB_GAMMA_MIN 2500
%define RGB_GAMMA_MAX 65000
%define REFERENCE_WHITE_MIN 6000
%define REFERENCE_WHITE_MAX 10000
%define REFERENCE_BLACK_MIN 0
%define REFERENCE_BLACK_MAX 4000
%define COLOR_ADJ_MIN -100
%define COLOR_ADJ_MAX 100
%define FONTMAPPER_MAX 10
%define ENHMETA_SIGNATURE 464D4520h
%define ENHMETA_STOCK_OBJECT 80000000h
%define EMR_HEADER 1
%define EMR_POLYBEZIER 2
%define EMR_POLYGON 3
%define EMR_POLYLINE 4
%define EMR_POLYBEZIERTO 5
%define EMR_POLYLINETO 6
%define EMR_POLYPOLYLINE 7
%define EMR_POLYPOLYGON 8
%define EMR_SETWINDOWEXTEX 9
%define EMR_SETWINDOWORGEX 10
%define EMR_SETVIEWPORTEXTEX 11
%define EMR_SETVIEWPORTORGEX 12
%define EMR_SETBRUSHORGEX 13
%define EMR_EOF 14
%define EMR_SETPIXELV 15
%define EMR_SETMAPPERFLAGS 16
%define EMR_SETMAPMODE 17
%define EMR_SETBKMODE 18
%define EMR_SETPOLYFILLMODE 19
%define EMR_SETROP2 20
%define EMR_SETSTRETCHBLTMODE 21
%define EMR_SETTEXTALIGN 22
%define EMR_SETCOLORADJUSTMENT 23
%define EMR_SETTEXTCOLOR 24
%define EMR_SETBKCOLOR 25
%define EMR_OFFSETCLIPRGN 26
%define EMR_MOVETOEX 27
%define EMR_SETMETARGN 28
%define EMR_EXCLUDECLIPRECT 29
%define EMR_INTERSECTCLIPRECT 30
%define EMR_SCALEVIEWPORTEXTEX 31
%define EMR_SCALEWINDOWEXTEX 32
%define EMR_SAVEDC 33
%define EMR_RESTOREDC 34
%define EMR_SETWORLDTRANSFORM 35
%define EMR_MODIFYWORLDTRANSFORM 36
%define EMR_SELECTOBJECT 37
%define EMR_CREATEPEN 38
%define EMR_CREATEBRUSHINDIRECT 39
%define EMR_DELETEOBJECT 40
%define EMR_ANGLEARC 41
%define EMR_ELLIPSE 42
%define EMR_RECTANGLE 43
%define EMR_ROUNDRECT 44
%define EMR_ARC 45
%define EMR_CHORD 46
%define EMR_PIE 47
%define EMR_SELECTPALETTE 48
%define EMR_CREATEPALETTE 49
%define EMR_SETPALETTEENTRIES 50
%define EMR_RESIZEPALETTE 51
%define EMR_REALIZEPALETTE 52
%define EMR_EXTFLOODFILL 53
%define EMR_LINETO 54
%define EMR_ARCTO 55
%define EMR_POLYDRAW 56
%define EMR_SETARCDIRECTION 57
%define EMR_SETMITERLIMIT 58
%define EMR_BEGINPATH 59
%define EMR_ENDPATH 60
%define EMR_CLOSEFIGURE 61
%define EMR_FILLPATH 62
%define EMR_STROKEANDFILLPATH 63
%define EMR_STROKEPATH 64
%define EMR_FLATTENPATH 65
%define EMR_WIDENPATH 66
%define EMR_SELECTCLIPPATH 67
%define EMR_ABORTPATH 68
%define EMR_GDICOMMENT 70
%define EMR_FILLRGN 71
%define EMR_FRAMERGN 72
%define EMR_INVERTRGN 73
%define EMR_PAINTRGN 74
%define EMR_EXTSELECTCLIPRGN 75
%define EMR_BITBLT 76
%define EMR_STRETCHBLT 77
%define EMR_MASKBLT 78
%define EMR_PLGBLT 79
%define EMR_SETDIBITSTODEVICE 80
%define EMR_STRETCHDIBITS 81
%define EMR_EXTCREATEFONTINDIRECTW 82
%define EMR_EXTTEXTOUTA 83
%define EMR_EXTTEXTOUTW 84
%define EMR_POLYBEZIER16 85
%define EMR_POLYGON16 86
%define EMR_POLYLINE16 87
%define EMR_POLYBEZIERTO16 88
%define EMR_POLYLINETO16 89
%define EMR_POLYPOLYLINE16 90
%define EMR_POLYPOLYGON16 91
%define EMR_POLYDRAW16 92
%define EMR_CREATEMONOBRUSH 93
%define EMR_CREATEDIBPATTERNBRUSHPT 94
%define EMR_EXTCREATEPEN 95
%define EMR_POLYTEXTOUTA 96
%define EMR_POLYTEXTOUTW 97
%define EMR_MIN 1
%define EMR_MAX 97
%define STRETCH_ANDSCANS 1
%define STRETCH_ORSCANS 2
%define STRETCH_DELETESCANS 3
%define STRETCH_HALFTONE 4
%define TCI_SRCCHARSET 1
%define TCI_SRCCODEPAGE 2
%define TCI_SRCFONTSIG 3
%define MONO_FONT 8
%define JOHAB_CHARSET 130
%define HEBREW_CHARSET 177
%define ARABIC_CHARSET 178
%define GREEK_CHARSET 161
%define TURKISH_CHARSET 162
%define THAI_CHARSET 222
%define EASTEUROPE_CHARSET 238
%define RUSSIAN_CHARSET 204
%define MAC_CHARSET 77
%define BALTIC_CHARSET 186
%define FS_LATIN1 1h
%define FS_LATIN2 2h
%define FS_CYRILLIC 4h
%define FS_GREEK 8h
%define FS_TURKISH 10h
%define FS_HEBREW 20h
%define FS_ARABIC 40h
%define FS_BALTIC 80h
%define FS_THAI 10000h
%define FS_JISJAPAN 20000h
%define FS_CHINESESIMP 40000h
%define FS_WANSUNG 80000h
%define FS_CHINESETRAD 100000h
%define FS_JOHAB 200000h
%define FS_SYMBOL 80000000h
%define DEFAULT_GUI_FONT 17
%define DM_RESERVED1 800000h
%define DM_RESERVED2 1000000h
%define DM_ICMMETHOD 2000000h
%define DM_ICMINTENT 4000000h
%define DM_MEDIATYPE 8000000h
%define DM_DITHERTYPE 10000000h
%define DMPAPER_ISO_B4 42
%define DMPAPER_JAPANESE_POSTCARD 43
%define DMPAPER_9X11 44
%define DMPAPER_10X11 45
%define DMPAPER_15X11 46
%define DMPAPER_ENV_INVITE 47
%define DMPAPER_RESERVED_48 48
%define DMPAPER_RESERVED_49 49
%define DMPAPER_LETTER_EXTRA 50
%define DMPAPER_LEGAL_EXTRA 51
%define DMPAPER_TABLOID_EXTRA 52
%define DMPAPER_A4_EXTRA 53
%define DMPAPER_LETTER_TRANSVERSE 54
%define DMPAPER_A4_TRANSVERSE 55
%define DMPAPER_LETTER_EXTRA_TRANSVERSE 56
%define DMPAPER_A_PLUS 57
%define DMPAPER_B_PLUS 58
%define DMPAPER_LETTER_PLUS 59
%define DMPAPER_A4_PLUS 60
%define DMPAPER_A5_TRANSVERSE 61
%define DMPAPER_B5_TRANSVERSE 62
%define DMPAPER_A3_EXTRA 63
%define DMPAPER_A5_EXTRA 64
%define DMPAPER_B5_EXTRA 65
%define DMPAPER_A2 66
%define DMPAPER_A3_TRANSVERSE 67
%define DMPAPER_A3_EXTRA_TRANSVERSE 68
%define DMTT_DOWNLOAD_OUTLINE 4
%define DMICMMETHOD_NONE 1
%define DMICMMETHOD_SYSTEM 2
%define DMICMMETHOD_DRIVER 3
%define DMICMMETHOD_DEVICE 4
%define DMICMMETHOD_USER 256
%define DMICM_SATURATE 1
%define DMICM_CONTRAST 2
%define DMICM_COLORMETRIC 3
%define DMICM_USER 256
%define DMMEDIA_STANDARD 1
%define DMMEDIA_GLOSSY 2
%define DMMEDIA_TRANSPARENCY 3
%define DMMEDIA_USER 256
%define DMDITHER_NONE 1
%define DMDITHER_COARSE 2
%define DMDITHER_FINE 3
%define DMDITHER_LINEART 4
%define DMDITHER_GRAYSCALE 5
%define DMDITHER_USER 256
%define GGO_GRAY2_BITMAP 4
%define GGO_GRAY4_BITMAP 5
%define GGO_GRAY8_BITMAP 6
%define GGO_GLYPH_INDEX 80h
%define GCP_DBCS 1h
%define GCP_REORDER 2h
%define GCP_USEKERNING 8h
%define GCP_GLYPHSHAPE 10h
%define GCP_LIGATE 20h
%define GCP_DIACRITIC 100h
%define GCP_KASHIDA 400h
%define GCP_ERROR 8000h
%define FLI_MASK 103Bh
%define GCP_JUSTIFY 10000h
%define GCP_NODIACRITICS 20000h
%define FLI_GLYPHS 40000h
%define GCP_CLASSIN 80000h
%define GCP_MAXEXTENT 100000h
%define GCP_JUSTIFYIN 200000h
%define GCP_DISPLAYZWG 400000h
%define GCP_SYMSWAPOFF 800000h
%define GCP_NUMERICOVERRIDE 1000000h
%define GCP_NEUTRALOVERRIDE 2000000h
%define GCP_NUMERICSLATIN 4000000h
%define GCP_NUMERICSLOCAL 8000000h
%define GCPCLASS_LATIN 1
%define GCPCLASS_HEBREW 2
%define GCPCLASS_ARABIC 2
%define GCPCLASS_NEUTRAL 3
%define GCPCLASS_LOCALNUMBER 4
%define GCPCLASS_LATINNUMBER 5
%define GCPCLASS_LATINNUMERICTERMINATOR 6
%define GCPCLASS_LATINNUMERICSEPARATOR 7
%define GCPCLASS_NUMERICSEPARATOR 8
%define GCPCLASS_PREBOUNDRTL 80h
%define GCPCLASS_PREBOUNDLTR 40h
%define DC_BINADJUST 19
%define DC_EMF_COMPLIANT 20
%define DC_DATATYPE_PRODUCED 21
%define DC_COLLATE 22
%define DCTT_DOWNLOAD_OUTLINE 8h
%define DCBA_FACEUPNONE 0h
%define DCBA_FACEUPCENTER 1h
%define DCBA_FACEUPLEFT 2h
%define DCBA_FACEUPRIGHT 3h
%define DCBA_FACEDOWNNONE 100h
%define DCBA_FACEDOWNCENTER 101h
%define DCBA_FACEDOWNLEFT 102h
%define DCBA_FACEDOWNRIGHT 103h
%define ICM_OFF 1
%define ICM_ON 2
%define ICM_QUERY 3
%define EMR_SETICMMODE 98
%define EMR_CREATECOLORSPACE 99
%define EMR_SETCOLORSPACE 100
%define EMR_DELETECOLORSPACE 101
%define SB_HORZ 0
%define SB_VERT 1
%define SB_CTL 2
%define SB_BOTH 3
%define SB_LINEUP 0
%define SB_LINELEFT 0
%define SB_LINEDOWN 1
%define SB_LINERIGHT 1
%define SB_PAGEUP 2
%define SB_PAGELEFT 2
%define SB_PAGEDOWN 3
%define SB_PAGERIGHT 3
%define SB_THUMBPOSITION 4
%define SB_THUMBTRACK 5
%define SB_TOP 6
%define SB_LEFT 6
%define SB_BOTTOM 7
%define SB_RIGHT 7
%define SB_ENDSCROLL 8
%define SBM_SETSCROLLINFO 00E9h
%define SBM_GETSCROLLINFO 00EAh
%define SIF_RANGE 0001h
%define SIF_PAGE 0002h
%define SIF_POS 0004h
%define SIF_DISABLENOSCROLL 0008h
%define SIF_TRACKPOS 0010h
%define SIF_ALL SIF_RANGE|SIF_PAGE|SIF_POS|SIF_TRACKPOS
%define SW_HIDE 0
%define SW_SHOWNORMAL 1
%define SW_NORMAL 1
%define SW_SHOWMINIMIZED 2
%define SW_SHOWMAXIMIZED 3
%define SW_MAXIMIZE 3
%define SW_SHOWNOACTIVATE 4
%define SW_SHOW 5
%define SW_MINIMIZE 6
%define SW_SHOWMINNOACTIVE 7
%define SW_SHOWNA 8
%define SW_RESTORE 9
%define SW_SHOWDEFAULT 10
%define SW_MAX 10
%define HIDE_WINDOW 0
%define SHOW_OPENWINDOW 1
%define SHOW_ICONWINDOW 2
%define SHOW_FULLSCREEN 3
%define SHOW_OPENNOACTIVATE 4
%define SW_PARENTCLOSING 1
%define SW_OTHERZOOM 2
%define SW_PARENTOPENING 3
%define SW_OTHERUNZOOM 4
%define KF_EXTENDED 100h
%define KF_DLGMODE 800h
%define KF_MENUMODE 1000h
%define KF_ALTDOWN 2000h
%define KF_REPEAT 4000h
%define KF_UP 8000h
%define VK_BACK 8h
%define VK_CANCEL 3h
%define VK_CAPITAL 14h
%define VK_CLEAR 0Ch
%define VK_CONTROL 11h
%define VK_DELETE 2Eh
%define VK_DOWN 28h
%define VK_END 23h
%define VK_ESCAPE 1Bh
%define VK_EXECUTE 2Bh
%define VK_HELP 2Fh
%define VK_HOME 24h
%define VK_INSERT 2Dh
%define VK_LBUTTON 1h
%define VK_LEFT 25h
%define VK_MBUTTON 4h
%define VK_MENU 12h
%define VK_NEXT 22h
%define VK_PAUSE 13h
%define VK_PGDN 22h
%define VK_PGUP 21h
%define VK_PRINT 2Ah
%define VK_PRIOR 21h
%define VK_RBUTTON 2h
%define VK_RETURN 0Dh
%define VK_RIGHT 27h
%define VK_SELECT 29h
%define VK_SHIFT 10h
%define VK_SNAPSHOT 2Ch
%define VK_SPACE 20h
%define VK_TAB 9h
%define VK_UP 26h
%define VK_NUMPAD0 60h
%define VK_NUMPAD1 61h
%define VK_NUMPAD2 62h
%define VK_NUMPAD3 63h
%define VK_NUMPAD4 64h
%define VK_NUMPAD5 65h
%define VK_NUMPAD6 66h
%define VK_NUMPAD7 67h
%define VK_NUMPAD8 68h
%define VK_NUMPAD9 69h
%define VK_MULTIPLY 6Ah
%define VK_ADD 6Bh
%define VK_SEPARATOR 6Ch
%define VK_SUBTRACT 6Dh
%define VK_DECIMAL 6Eh
%define VK_DIVIDE 6Fh
%define VK_F1 70h
%define VK_F2 71h
%define VK_F3 72h
%define VK_F4 73h
%define VK_F5 74h
%define VK_F6 75h
%define VK_F7 76h
%define VK_F8 77h
%define VK_F9 78h
%define VK_F10 79h
%define VK_F11 7Ah
%define VK_F12 7Bh
%define VK_F13 7Ch
%define VK_F14 7Dh
%define VK_F15 7Eh
%define VK_F16 7Fh
%define VK_F17 80h
%define VK_F18 81h
%define VK_F19 82h
%define VK_F20 83h
%define VK_F21 84h
%define VK_F22 85h
%define VK_F23 86h
%define VK_F24 87h
%define VK_NUMLOCK 90h
%define VK_SCROLL 91h
%define VK_LSHIFT 0A0h
%define VK_RSHIFT 0A1h
%define VK_LCONTROL 0A2h
%define VK_RCONTROL 0A3h
%define VK_LMENU 0A4h
%define VK_RMENU 0A5h
%define VK_ATTN 0F6h
%define VK_CRSEL 0F7h
%define VK_EXSEL 0F8h
%define VK_EREOF 0F9h
%define VK_PLAY 0FAh
%define VK_ZOOM 0FBh
%define VK_NONAME 0FCh
%define VK_PA1 0FDh
%define VK_OEM_CLEAR 0FEh
%define WH_MIN -1
%define WH_MSGFILTER -1
%define WH_JOURNALRECORD 0
%define WH_JOURNALPLAYBACK 1
%define WH_KEYBOARD 2
%define WH_GETMESSAGE 3
%define WH_CALLWNDPROC 4
%define WH_CBT 5
%define WH_SYSMSGFILTER 6
%define WH_MOUSE 7
%define WH_HARDWARE 8
%define WH_DEBUG 9
%define WH_SHELL 10
%define WH_FOREGROUNDIDLE 11
%define WH_MAX 11
%define HC_ACTION 0
%define HC_GETNEXT 1
%define HC_SKIP 2
%define HC_NOREMOVE 3
%define HC_NOREM HC_NOREMOVE
%define HC_SYSMODALON 4
%define HC_SYSMODALOFF 5
%define HCBT_MOVESIZE 0
%define HCBT_MINMAX 1
%define HCBT_QS 2
%define HCBT_CREATEWND 3
%define HCBT_DESTROYWND 4
%define HCBT_ACTIVATE 5
%define HCBT_CLICKSKIPPED 6
%define HCBT_KEYSKIPPED 7
%define HCBT_SYSCOMMAND 8
%define HCBT_SETFOCUS 9
%define HSHELL_WINDOWCREATED 1
%define HSHELL_WINDOWDESTROYED 2
%define HSHELL_ACTIVATESHELLWINDOW 3
%define HKL_PREV 0
%define HKL_NEXT 1
%define KLF_ACTIVATE 1h
%define KLF_SUBSTITUTE_OK 2h
%define KLF_UNLOADPREVIOUS 4h
%define KLF_REORDER 8h
%define KL_NAMELENGTH 9
%define DESKTOP_READOBJECTS 1h
%define DESKTOP_CREATEWINDOW 2h
%define DESKTOP_CREATEMENU 4h
%define DESKTOP_HOOKCONTROL 8h
%define DESKTOP_JOURNALRECORD 10h
%define DESKTOP_JOURNALPLAYBACK 20h
%define DESKTOP_ENUMERATE 40h
%define DESKTOP_WRITEOBJECTS 80h
%define WINSTA_ENUMDESKTOPS 1h
%define WINSTA_READATTRIBUTES 2h
%define WINSTA_ACCESSCLIPBOARD 4h
%define WINSTA_CREATEDESKTOP 8h
%define WINSTA_WRITEATTRIBUTES 10h
%define WINSTA_ACCESSPUBLICATOMS 20h
%define WINSTA_EXITWINDOWS 40h
%define WINSTA_ENUMERATE 100h
%define WINSTA_READSCREEN 200h
%define GWL_WNDPROC -4
%define GWL_HINSTANCE -6
%define GWL_HWNDPARENT -8
%define GWL_STYLE -16
%define GWL_EXSTYLE -20
%define GWL_USERDATA -21
%define GWL_ID -12
%define GCL_MENUNAME -8
%define GCL_HBRBACKGROUND -10
%define GCL_HCURSOR -12
%define GCL_HICON -14
%define GCL_HMODULE -16
%define GCL_CBWNDEXTRA -18
%define GCL_CBCLSEXTRA -20
%define GCL_WNDPROC -24
%define GCL_STYLE -26
%define GCW_ATOM -32
%define WM_USER 400h
%define WM_NULL 0h
%define WM_CREATE 1h
%define WM_DESTROY 2h
%define WM_MOVE 3h
%define WM_SIZE 5h
%define WM_ACTIVATE 6h
%define WA_INACTIVE 0
%define WA_ACTIVE 1
%define WA_CLICKACTIVE 2
%define WM_SETFOCUS 7h
%define WM_KILLFOCUS 08h
%define WM_ENABLE 0Ah
%define WM_SETREDRAW 0Bh
%define WM_SETTEXT 0Ch
%define WM_GETTEXT 0Dh
%define WM_GETTEXTLENGTH 0Eh
%define WM_PAINT 0Fh
%define WM_CLOSE 10h
%define WM_QUERYENDSESSION 11h
%define WM_QUIT 12h
%define WM_QUERYOPEN 13h
%define WM_ERASEBKGND 14h
%define WM_SYSCOLORCHANGE 15h
%define WM_ENDSESSION 16h
%define WM_SHOWWINDOW 18h
%define WM_WININICHANGE 1Ah
%define WM_DEVMODECHANGE 1Bh
%define WM_ACTIVATEAPP 1Ch
%define WM_FONTCHANGE 1Dh
%define WM_TIMECHANGE 1Eh
%define WM_CANCELMODE 1Fh
%define WM_SETCURSOR 20h
%define WM_MOUSEACTIVATE 21h
%define WM_CHILDACTIVATE 22h
%define WM_QUEUESYNC 23h
%define WM_GETMINMAXINFO 24h
%define WM_PAINTICON 26h
%define WM_ICONERASEBKGND 27h
%define WM_NEXTDLGCTL 28h
%define WM_SPOOLERSTATUS 2Ah
%define WM_DRAWITEM 2Bh
%define WM_MEASUREITEM 2Ch
%define WM_DELETEITEM 2Dh
%define WM_VKEYTOITEM 2Eh
%define WM_CHARTOITEM 2Fh
%define WM_SETFONT 30h
%define WM_GETFONT 31h
%define WM_SETHOTKEY 32h
%define WM_GETHOTKEY 33h
%define WM_QUERYDRAGICON 37h
%define WM_COMPAREITEM 39h
%define WM_COMPACTING 41h
%define WM_OTHERWINDOWCREATED 42h
%define WM_OTHERWINDOWDESTROYED 43h
%define WM_COMMNOTIFY 44h
%define CN_RECEIVE 1h
%define CN_TRANSMIT 2h
%define CN_EVENT 4h
%define WM_WINDOWPOSCHANGING 46h
%define WM_WINDOWPOSCHANGED 47h
%define WM_POWER 48h
%define PWR_OK 1
%define PWR_FAIL -1
%define PWR_SUSPENDREQUEST 1
%define PWR_SUSPENDRESUME 2
%define PWR_CRITICALRESUME 3
%define WM_COPYDATA 4Ah
%define WM_CANCELJOURNAL 4Bh
%define WM_NOTIFY 4Eh
%define WM_INPUTLANGUAGECHANGEREQUEST 50h
%define WM_INPUTLANGUAGECHANGE 51h
%define WM_TCARD 52h
%define WM_HELP 53h
%define WM_USERCHANGED 54h
%define WM_NOTIFYFORMAT 55h
%define WM_CONTEXTMENU 7Bh
%define WM_STYLECHANGING 7Ch
%define WM_STYLECHANGED 7Dh
%define WM_DISPLAYCHANGE 7Eh
%define WM_GETICON 7Fh
%define WM_SETICON 80h
%define WM_NCCREATE 81h
%define WM_NCDESTROY 82h
%define WM_NCCALCSIZE 83h
%define WM_NCHITTEST 84h
%define WM_NCPAINT 85h
%define WM_NCACTIVATE 86h
%define WM_GETDLGCODE 87h
%define WM_NCMOUSEMOVE 0A0h
%define WM_NCLBUTTONDOWN 0A1h
%define WM_NCLBUTTONUP 0A2h
%define WM_NCLBUTTONDBLCLK 0A3h
%define WM_NCRBUTTONDOWN 0A4h
%define WM_NCRBUTTONUP 0A5h
%define WM_NCRBUTTONDBLCLK 0A6h
%define WM_NCMBUTTONDOWN 0A7h
%define WM_NCMBUTTONUP 0A8h
%define WM_NCMBUTTONDBLCLK 0A9h
%define WM_KEYFIRST 100h
%define WM_KEYDOWN 100h
%define WM_KEYUP 101h
%define WM_CHAR 102h
%define WM_DEADCHAR 103h
%define WM_SYSKEYDOWN 104h
%define WM_SYSKEYUP 105h
%define WM_SYSCHAR 106h
%define WM_SYSDEADCHAR 107h
%define WM_KEYLAST 108h
%define WM_INITDIALOG 110h
%define WM_COMMAND 111h
%define WM_SYSCOMMAND 112h
%define WM_TIMER 113h
%define WM_HSCROLL 114h
%define WM_VSCROLL 115h
%define WM_INITMENU 116h
%define WM_INITMENUPOPUP 117h
%define WM_MENUSELECT 11Fh
%define WM_MENUCHAR 120h
%define WM_ENTERIDLE 121h
%define WM_CTLCOLORMSGBOX 132h
%define WM_CTLCOLOREDIT 133h
%define WM_CTLCOLORLISTBOX 134h
%define WM_CTLCOLORBTN 135h
%define WM_CTLCOLORDLG 136h
%define WM_CTLCOLORSCROLLBAR 137h
%define WM_CTLCOLORSTATIC 138h
%define WM_MOUSEFIRST 200h
%define WM_MOUSEMOVE 200h
%define WM_LBUTTONDOWN 201h
%define WM_LBUTTONUP 202h
%define WM_LBUTTONDBLCLK 203h
%define WM_RBUTTONDOWN 204h
%define WM_RBUTTONUP 205h
%define WM_RBUTTONDBLCLK 206h
%define WM_MBUTTONDOWN 207h
%define WM_MBUTTONUP 208h
%define WM_MBUTTONDBLCLK 209h
%define WM_MOUSELAST 209h
%define WM_PARENTNOTIFY 210h
%define WM_ENTERMENULOOP 211h
%define WM_EXITMENULOOP 212h
%define WM_MDICREATE 220h
%define WM_MDIDESTROY 221h
%define WM_MDIACTIVATE 222h
%define WM_MDIRESTORE 223h
%define WM_MDINEXT 224h
%define WM_MDIMAXIMIZE 225h
%define WM_MDITILE 226h
%define WM_MDICASCADE 227h
%define WM_MDIICONARRANGE 228h
%define WM_MDIGETACTIVE 229h
%define WM_MDISETMENU 230h
%define WM_DROPFILES 233h
%define WM_MDIREFRESHMENU 234h
%define WM_CUT 300h
%define WM_COPY 301h
%define WM_PASTE 302h
%define WM_CLEAR 303h
%define WM_UNDO 304h
%define WM_RENDERFORMAT 305h
%define WM_RENDERALLFORMATS 306h
%define WM_DESTROYCLIPBOARD 307h
%define WM_DRAWCLIPBOARD 308h
%define WM_PAINTCLIPBOARD 309h
%define WM_VSCROLLCLIPBOARD 30Ah
%define WM_SIZECLIPBOARD 30Bh
%define WM_ASKCBFORMATNAME 30Ch
%define WM_CHANGECBCHAIN 30Dh
%define WM_HSCROLLCLIPBOARD 30Eh
%define WM_QUERYNEWPALETTE 30Fh
%define WM_PALETTEISCHANGING 310h
%define WM_PALETTECHANGED 311h
%define WM_HOTKEY 312h
%define WM_PRINTCLIENT 318h
%define WM_PENWINFIRST 380h
%define WM_PENWINLAST 38Fh
%define ST_BEGINSWP 0
%define ST_ENDSWP 1
%define HTERROR -2
%define HTTRANSPARENT -1
%define HTNOWHERE 0
%define HTCLIENT 1
%define HTCAPTION 2
%define HTSYSMENU 3
%define HTGROWBOX 4
%define HTSIZE HTGROWBOX
%define HTMENU 5
%define HTHSCROLL 6
%define HTVSCROLL 7
%define HTMINBUTTON 8
%define HTMAXBUTTON 9
%define HTLEFT 10
%define HTRIGHT 11
%define HTTOP 12
%define HTTOPLEFT 13
%define HTTOPRIGHT 14
%define HTBOTTOM 15
%define HTBOTTOMLEFT 16
%define HTBOTTOMRIGHT 17
%define HTBORDER 18
%define HTREDUCE HTMINBUTTON
%define HTZOOM HTMAXBUTTON
%define HTSIZEFIRST HTLEFT
%define HTSIZELAST HTBOTTOMRIGHT
%define SMTO_NORMAL 0h
%define SMTO_BLOCK 1h
%define SMTO_ABORTIFHUNG 2h
%define MA_ACTIVATE 1
%define MA_ACTIVATEANDEAT 2
%define MA_NOACTIVATE 3
%define MA_NOACTIVATEANDEAT 4
%define SIZE_RESTORED 0
%define SIZE_MINIMIZED 1
%define SIZE_MAXIMIZED 2
%define SIZE_MAXSHOW 3
%define SIZE_MAXHIDE 4
%define SIZENORMAL SIZE_RESTORED
%define SIZEICONIC SIZE_MINIMIZED
%define SIZEFULLSCREEN SIZE_MAXIMIZED
%define SIZEZOOMSHOW SIZE_MAXSHOW
%define SIZEZOOMHIDE SIZE_MAXHIDE
%define WVR_ALIGNTOP 10h
%define WVR_ALIGNLEFT 20h
%define WVR_ALIGNBOTTOM 40h
%define WVR_ALIGNRIGHT 80h
%define WVR_HREDRAW 100h
%define WVR_VREDRAW 200h
%define WVR_REDRAW WVR_HREDRAW|WVR_VREDRAW
%define WVR_VALIDRECTS 400h
%define MK_LBUTTON 1h
%define MK_RBUTTON 2h
%define MK_SHIFT 4h
%define MK_CONTROL 8h
%define MK_MBUTTON 10h
%define WS_OVERLAPPED 0h
%define WS_POPUP 80000000h
%define WS_CHILD 40000000h
%define WS_MINIMIZE 20000000h
%define WS_VISIBLE 10000000h
%define WS_DISABLED 8000000h
%define WS_CLIPSIBLINGS 4000000h
%define WS_CLIPCHILDREN 2000000h
%define WS_MAXIMIZE 1000000h
%define WS_CAPTION 0C00000h
%define WS_BORDER 800000h
%define WS_DLGFRAME 400000h
%define WS_VSCROLL 200000h
%define WS_HSCROLL 100000h
%define WS_SYSMENU 80000h
%define WS_THICKFRAME 40000h
%define WS_GROUP 20000h
%define WS_TABSTOP 10000h
%define WS_MINIMIZEBOX 20000h
%define WS_MAXIMIZEBOX 10000h
%define WS_TILED WS_OVERLAPPED
%define WS_ICONIC WS_MINIMIZE
%define WS_SIZEBOX WS_THICKFRAME
%define WS_OVERLAPPEDWINDOW WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX
%define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW
%define WS_POPUPWINDOW WS_POPUP|WS_BORDER|WS_SYSMENU
%define WS_CHILDWINDOW WS_CHILD
%define WS_EX_DLGMODALFRAME 1h
%define WS_EX_NOPARENTNOTIFY 4h
%define WS_EX_TOPMOST 8h
%define WS_EX_ACCEPTFILES 10h
%define WS_EX_TRANSPARENT 20h
%define WS_EX_MDICHILD 00000040h
%define WS_EX_TOOLWINDOW 00000080h
%define WS_EX_WINDOWEDGE 00000100h
%define WS_EX_CLIENTEDGE 00000200h
%define WS_EX_CONTEXTHELP 00000400h
%define WS_EX_RIGHT 00001000h
%define WS_EX_LEFT 00000000h
%define WS_EX_RTLREADING 00002000h
%define WS_EX_LTRREADING 00000000h
%define WS_EX_LEFTSCROLLBAR 00004000h
%define WS_EX_RIGHTSCROLLBAR 00000000h
%define WS_EX_CONTROLPARENT 00010000h
%define WS_EX_STATICEDGE 00020000h
%define WS_EX_APPWINDOW 00040000h
%define WS_EX_OVERLAPPEDWINDOW WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE
%define WS_EX_PALETTEWINDOW WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST
%define CS_VREDRAW 1h
%define CS_HREDRAW 2h
%define CS_KEYCVTWINDOW 4h
%define CS_DBLCLKS 8h
%define CS_OWNDC 20h
%define CS_CLASSDC 40h
%define CS_PARENTDC 80h
%define CS_NOKEYCVT 100h
%define CS_NOCLOSE 200h
%define CS_SAVEBITS 800h
%define CS_BYTEALIGNCLIENT 1000h
%define CS_BYTEALIGNWINDOW 2000h
%define CS_PUBLICCLASS 4000h
%define CS_GLOBALCLASS CS_PUBLICCLASS
%define CF_TEXT 1
%define CF_BITMAP 2
%define CF_METAFILEPICT 3
%define CF_SYLK 4
%define CF_DIF 5
%define CF_TIFF 6
%define CF_OEMTEXT 7
%define CF_DIB 8
%define CF_PALETTE 9
%define CF_PENDATA 10
%define CF_RIFF 11
%define CF_WAVE 12
%define CF_OWNERDISPLAY 80h
%define CF_DSPTEXT 81h
%define CF_DSPBITMAP 82h
%define CF_DSPMETAFILEPICT 83h
%define CF_DSPENHMETAFILE 8Eh
%define CF_PRIVATEFIRST 200h
%define CF_PRIVATELAST 2FFh
%define CF_GDIOBJFIRST 300h
%define CF_GDIOBJLAST 3FFh
%define FVIRTKEY 1h
%define FNOINVERT 2h
%define FSHIFT 4h
%define FCONTROL 8h
%define FALT 10h
%define WPF_SETMINPOSITION 1h
%define WPF_RESTORETOMAXIMIZED 2h
%define ODT_MENU 1
%define ODT_LISTBOX 2
%define ODT_COMBOBOX 3
%define ODT_BUTTON 4
%define ODA_DRAWENTIRE 1h
%define ODA_SELECT 2h
%define ODA_FOCUS 4h
%define ODS_SELECTED 1h
%define ODS_GRAYED 2h
%define ODS_DISABLED 4h
%define ODS_CHECKED 8h
%define ODS_FOCUS 10h
%define PM_NOREMOVE 0h
%define PM_REMOVE 1h
%define PM_NOYIELD 2h
%define IDHOT_SNAPWINDOW -1
%define IDHOT_SNAPDESKTOP -2
%define EWX_LOGOFF 0
%define EWX_SHUTDOWN 1
%define EWX_REBOOT 2
%define EWX_FORCE 4
%define EW_RESTARTWINDOWS 42h
%define READAPI 0
%define WRITEAPI 1
%define READ_WRITE 2
%define HWND_BROADCAST 0FFFFh
%define CW_USEDEFAULT 80000000h
%define HWND_DESKTOP 0
%define SWP_NOSIZE 1h
%define SWP_NOMOVE 2h
%define SWP_NOZORDER 4h
%define SWP_NOREDRAW 8h
%define SWP_NOACTIVATE 10h
%define SWP_FRAMECHANGED 20h
%define SWP_SHOWWINDOW 40h
%define SWP_HIDEWINDOW 80h
%define SWP_NOCOPYBITS 100h
%define SWP_NOOWNERZORDER 200h
%define SWP_DRAWFRAME SWP_FRAMECHANGED
%define SWP_NOREPOSITION SWP_NOOWNERZORDER
%define HWND_TOP 0
%define HWND_BOTTOM 1
%define HWND_TOPMOST -1
%define HWND_NOTOPMOST -2
%define DLGWINDOWEXTRA 30
%define KEYEVENTF_EXTENDEDKEY 1h
%define KEYEVENTF_KEYUP 2h
%define MOUSEEVENTF_MOVE 1h
%define MOUSEEVENTF_LEFTDOWN 2h
%define MOUSEEVENTF_LEFTUP 4h
%define MOUSEEVENTF_RIGHTDOWN 8h
%define MOUSEEVENTF_RIGHTUP 10h
%define MOUSEEVENTF_MIDDLEDOWN 20h
%define MOUSEEVENTF_MIDDLEUP 40h
%define MOUSEEVENTF_ABSOLUTE 8000h
%define QS_KEY 1h
%define QS_MOUSEMOVE 2h
%define QS_MOUSEBUTTON 4h
%define QS_POSTMESSAGE 8h
%define QS_TIMER 10h
%define QS_PAINT 20h
%define QS_SENDMESSAGE 40h
%define QS_HOTKEY 80h
%define QS_MOUSE QS_MOUSEMOVE|QS_MOUSEBUTTON
%define QS_INPUT QS_MOUSE|QS_KEY
%define QS_ALLEVENTS QS_INPUT|QS_POSTMESSAGE|QS_TIMER|QS_PAINT|QS_HOTKEY
%define QS_ALLINPUT QS_SENDMESSAGE|QS_PAINT|QS_TIMER|QS_POSTMESSAGE|QS_MOUSEBUTTON|QS_MOUSEMOVE|QS_HOTKEY|QS_KEY
%define SM_CXSCREEN 0
%define SM_CYSCREEN 1
%define SM_CXVSCROLL 2
%define SM_CYHSCROLL 3
%define SM_CYCAPTION 4
%define SM_CXBORDER 5
%define SM_CYBORDER 6
%define SM_CXDLGFRAME 7
%define SM_CYDLGFRAME 8
%define SM_CYVTHUMB 9
%define SM_CXHTHUMB 10
%define SM_CXICON 11
%define SM_CYICON 12
%define SM_CXCURSOR 13
%define SM_CYCURSOR 14
%define SM_CYMENU 15
%define SM_CXFULLSCREEN 16
%define SM_CYFULLSCREEN 17
%define SM_CYKANJIWINDOW 18
%define SM_MOUSEPRESENT 19
%define SM_CYVSCROLL 20
%define SM_CXHSCROLL 21
%define SM_DEBUG 22
%define SM_SWAPBUTTON 23
%define SM_RESERVED1 24
%define SM_RESERVED2 25
%define SM_RESERVED3 26
%define SM_RESERVED4 27
%define SM_CXMIN 28
%define SM_CYMIN 29
%define SM_CXSIZE 30
%define SM_CYSIZE 31
%define SM_CXFRAME 32
%define SM_CYFRAME 33
%define SM_CXMINTRACK 34
%define SM_CYMINTRACK 35
%define SM_CXDOUBLECLK 36
%define SM_CYDOUBLECLK 37
%define SM_CXICONSPACING 38
%define SM_CYICONSPACING 39
%define SM_MENUDROPALIGNMENT 40
%define SM_PENWINDOWS 41
%define SM_DBCSENABLED 42
%define SM_CMOUSEBUTTONS 43
%define SM_CXFIXEDFRAME SM_CXDLGFRAME
%define SM_CYFIXEDFRAME SM_CYDLGFRAME
%define SM_CXSIZEFRAME SM_CXFRAME
%define SM_CYSIZEFRAME SM_CYFRAME
%define SM_SECURE 44
%define SM_CXEDGE 45
%define SM_CYEDGE 46
%define SM_CXMINSPACING 47
%define SM_CYMINSPACING 48
%define SM_CXSMICON 49
%define SM_CYSMICON 50
%define SM_CYSMCAPTION 51
%define SM_CXSMSIZE 52
%define SM_CYSMSIZE 53
%define SM_CXMENUSIZE 54
%define SM_CYMENUSIZE 55
%define SM_ARRANGE 56
%define SM_CXMINIMIZED 57
%define SM_CYMINIMIZED 58
%define SM_CXMAXTRACK 59
%define SM_CYMAXTRACK 60
%define SM_CXMAXIMIZED 61
%define SM_CYMAXIMIZED 62
%define SM_NETWORK 63
%define SM_CLEANBOOT 67
%define SM_CXDRAG 68
%define SM_CYDRAG 69
%define SM_SHOWSOUNDS 70
%define SM_CXMENUCHECK 71
%define SM_CYMENUCHECK 72
%define SM_SLOWMACHINE 73
%define SM_MIDEASTENABLED 74
%define SM_CMETRICS 75
%define TPM_LEFTBUTTON 0h
%define TPM_RIGHTBUTTON 2h
%define TPM_LEFTALIGN 0h
%define TPM_CENTERALIGN 4h
%define TPM_RIGHTALIGN 8h
%define DT_TOP 0h
%define DT_LEFT 0h
%define DT_CENTER 1h
%define DT_RIGHT 2h
%define DT_VCENTER 4h
%define DT_BOTTOM 8h
%define DT_WORDBREAK 10h
%define DT_SINGLELINE 20h
%define DT_EXPANDTABS 40h
%define DT_TABSTOP 80h
%define DT_NOCLIP 100h
%define DT_EXTERNALLEADING 200h
%define DT_CALCRECT 400h
%define DT_NOPREFIX 800h
%define DT_INTERNAL 1000h
%define DCX_WINDOW 1h
%define DCX_CACHE 2h
%define DCX_NORESETATTRS 4h
%define DCX_CLIPCHILDREN 8h
%define DCX_CLIPSIBLINGS 10h
%define DCX_PARENTCLIP 20h
%define DCX_EXCLUDERGN 40h
%define DCX_INTERSECTRGN 80h
%define DCX_EXCLUDEUPDATE 100h
%define DCX_INTERSECTUPDATE 200h
%define DCX_LOCKWINDOWUPDATE 400h
%define DCX_NORECOMPUTE 100000h
%define DCX_VALIDATE 200000h
%define RDW_INVALIDATE 1h
%define RDW_INTERNALPAINT 2h
%define RDW_ERASE 4h
%define RDW_VALIDATE 8h
%define RDW_NOINTERNALPAINT 10h
%define RDW_NOERASE 20h
%define RDW_NOCHILDREN 40h
%define RDW_ALLCHILDREN 80h
%define RDW_UPDATENOW 100h
%define RDW_ERASENOW 200h
%define RDW_FRAME 400h
%define RDW_NOFRAME 800h
%define SW_SCROLLCHILDREN 1h
%define SW_INVALIDATE 2h
%define SW_ERASE 4h
%define ESB_ENABLE_BOTH 0h
%define ESB_DISABLE_BOTH 3h
%define ESB_DISABLE_LEFT 1h
%define ESB_DISABLE_RIGHT 2h
%define ESB_DISABLE_UP 1h
%define ESB_DISABLE_DOWN 2h
%define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
%define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
%define MB_OK 0h
%define MB_OKCANCEL 1h
%define MB_ABORTRETRYIGNORE 2h
%define MB_YESNOCANCEL 3h
%define MB_YESNO 4h
%define MB_RETRYCANCEL 5h
%define MB_ICONHAND 10h
%define MB_ICONQUESTION 20h
%define MB_ICONEXCLAMATION 30h
%define MB_ICONASTERISK 40h
%define MB_ICONERROR MB_ICONHAND
%define MB_ICONINFORMATION MB_ICONASTERISK
%define MB_ICONSTOP MB_ICONHAND
%define MB_ICONWARNING MB_ICONEXCLAMATION
%define MB_DEFBUTTON1 0h
%define MB_DEFBUTTON2 100h
%define MB_DEFBUTTON3 200h
%define MB_APPLMODAL 0h
%define MB_SYSTEMMODAL 1000h
%define MB_TASKMODAL 2000h
%define MB_NOFOCUS 8000h
%define MB_SETFOREGROUND 10000h
%define MB_DEFAULT_DESKTOP_ONLY 20000h
%define MB_TYPEMASK 0Fh
%define MB_ICONMASK 0F0h
%define MB_DEFMASK 0F00h
%define MB_MODEMASK 3000h
%define MB_MISCMASK 0C000h
%define CTLCOLOR_MSGBOX 0
%define CTLCOLOR_EDIT 1
%define CTLCOLOR_LISTBOX 2
%define CTLCOLOR_BTN 3
%define CTLCOLOR_DLG 4
%define CTLCOLOR_SCROLLBAR 5
%define CTLCOLOR_STATIC 6
%define CTLCOLOR_MAX 8
%define COLOR_SCROLLBAR 0
%define COLOR_BACKGROUND 1
%define COLOR_ACTIVECAPTION 2
%define COLOR_INACTIVECAPTION 3
%define COLOR_MENU 4
%define COLOR_WINDOW 5
%define COLOR_WINDOWFRAME 6
%define COLOR_MENUTEXT 7
%define COLOR_WINDOWTEXT 8
%define COLOR_CAPTIONTEXT 9
%define COLOR_ACTIVEBORDER 10
%define COLOR_INACTIVEBORDER 11
%define COLOR_APPWORKSPACE 12
%define COLOR_HIGHLIGHT 13
%define COLOR_HIGHLIGHTTEXT 14
%define COLOR_BTNFACE 15
%define COLOR_BTNSHADOW 16
%define COLOR_GRAYTEXT 17
%define COLOR_BTNTEXT 18
%define COLOR_INACTIVECAPTIONTEXT 19
%define COLOR_BTNHIGHLIGHT 20
%define COLOR_3DDKSHADOW 21
%define COLOR_3DLIGHT 22
%define COLOR_INFOTEXT 23
%define COLOR_INFOBK 24
%define COLOR_DESKTOP COLOR_BACKGROUND
%define COLOR_3DFACE COLOR_BTNFACE
%define COLOR_3DSHADOW COLOR_BTNSHADOW
%define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT
%define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT
%define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT
%define GW_HWNDFIRST 0
%define GW_HWNDLAST 1
%define GW_HWNDNEXT 2
%define GW_HWNDPREV 3
%define GW_OWNER 4
%define GW_CHILD 5
%define GW_MAX 5
%define MF_INSERT 0h
%define MF_CHANGE 80h
%define MF_APPEND 100h
%define MF_DELETE 200h
%define MF_REMOVE 1000h
%define MF_BYCOMMAND 0h
%define MF_BYPOSITION 400h
%define MF_SEPARATOR 800h
%define MF_ENABLED 0h
%define MF_GRAYED 1h
%define MF_DISABLED 2h
%define MF_UNCHECKED 0h
%define MF_CHECKED 8h
%define MF_USECHECKBITMAPS 200h
%define MF_STRING 0h
%define MF_BITMAP 4h
%define MF_OWNERDRAW 100h
%define MF_POPUP 10h
%define MF_MENUBARBREAK 20h
%define MF_MENUBREAK 40h
%define MF_UNHILITE 0h
%define MF_HILITE 80h
%define MF_SYSMENU 2000h
%define MF_HELP 4000h
%define MF_MOUSESELECT 8000h
%define MF_END 80h
%define SC_SIZE 0F000h
%define SC_MOVE 0F010h
%define SC_MINIMIZE 0F020h
%define SC_MAXIMIZE 0F030h
%define SC_NEXTWINDOW 0F040h
%define SC_PREVWINDOW 0F050h
%define SC_CLOSE 0F060h
%define SC_VSCROLL 0F070h
%define SC_HSCROLL 0F080h
%define SC_MOUSEMENU 0F090h
%define SC_KEYMENU 0F100h
%define SC_ARRANGE 0F110h
%define SC_RESTORE 0F120h
%define SC_TASKLIST 0F130h
%define SC_SCREENSAVE 0F140h
%define SC_HOTKEY 0F150h
%define SC_ICON SC_MINIMIZE
%define SC_ZOOM SC_MAXIMIZE
%define IDC_ARROW 32512
%define IDC_IBEAM 32513
%define IDC_WAIT 32514
%define IDC_CROSS 32515
%define IDC_UPARROW 32516
%define IDC_SIZE 32640
%define IDC_ICON 32641
%define IDC_SIZENWSE 32642
%define IDC_SIZENESW 32643
%define IDC_SIZEWE 32644
%define IDC_SIZENS 32645
%define IDC_SIZEALL 32646
%define IDC_NO 32648
%define IDC_APPSTARTING 32650
%define OBM_CLOSE 32754
%define OBM_UPARROW 32753
%define OBM_DNARROW 32752
%define OBM_RGARROW 32751
%define OBM_LFARROW 32750
%define OBM_REDUCE 32749
%define OBM_ZOOM 32748
%define OBM_RESTORE 32747
%define OBM_REDUCED 32746
%define OBM_ZOOMD 32745
%define OBM_RESTORED 32744
%define OBM_UPARROWD 32743
%define OBM_DNARROWD 32742
%define OBM_RGARROWD 32741
%define OBM_LFARROWD 32740
%define OBM_MNARROW 32739
%define OBM_COMBO 32738
%define OBM_UPARROWI 32737
%define OBM_DNARROWI 32736
%define OBM_RGARROWI 32735
%define OBM_LFARROWI 32734
%define OBM_OLD_CLOSE 32767
%define OBM_SIZE 32766
%define OBM_OLD_UPARROW 32765
%define OBM_OLD_DNARROW 32764
%define OBM_OLD_RGARROW 32763
%define OBM_OLD_LFARROW 32762
%define OBM_BTSIZE 32761
%define OBM_CHECK 32760
%define OBM_CHECKBOXES 32759
%define OBM_BTNCORNERS 32758
%define OBM_OLD_REDUCE 32757
%define OBM_OLD_ZOOM 32756
%define OBM_OLD_RESTORE 32755
%define OCR_NORMAL 32512
%define OCR_IBEAM 32513
%define OCR_WAIT 32514
%define OCR_CROSS 32515
%define OCR_UP 32516
%define OCR_SIZE 32640
%define OCR_ICON 32641
%define OCR_SIZENWSE 32642
%define OCR_SIZENESW 32643
%define OCR_SIZEWE 32644
%define OCR_SIZENS 32645
%define OCR_SIZEALL 32646
%define OCR_ICOCUR 32647
%define OCR_NO 32648
%define OIC_SAMPLE 32512
%define OIC_HAND 32513
%define OIC_QUES 32514
%define OIC_BANG 32515
%define OIC_NOTE 32516
%define ORD_LANGDRIVER 1
%define IDI_APPLICATION 32512
%define IDI_HAND 32513
%define IDI_QUESTION 32514
%define IDI_EXCLAMATION 32515
%define IDI_ASTERISK 32516
%define IDOK 1
%define IDCANCEL 2
%define IDABORT 3
%define IDRETRY 4
%define IDIGNORE 5
%define IDYES 6
%define IDNO 7
%define ES_LEFT 0h
%define ES_CENTER 1h
%define ES_RIGHT 2h
%define ES_MULTILINE 4h
%define ES_UPPERCASE 8h
%define ES_LOWERCASE 10h
%define ES_PASSWORD 20h
%define ES_AUTOVSCROLL 40h
%define ES_AUTOHSCROLL 80h
%define ES_NOHIDESEL 100h
%define ES_OEMCONVERT 400h
%define ES_READONLY 800h
%define ES_WANTRETURN 1000h
%define EN_SETFOCUS 100h
%define EN_KILLFOCUS 200h
%define EN_CHANGE 300h
%define EN_UPDATE 400h
%define EN_ERRSPACE 500h
%define EN_MAXTEXT 501h
%define EN_HSCROLL 601h
%define EN_VSCROLL 602h
%define EM_GETSEL 0B0h
%define EM_SETSEL 0B1h
%define EM_GETRECT 0B2h
%define EM_SETRECT 0B3h
%define EM_SETRECTNP 0B4h
%define EM_SCROLL 0B5h
%define EM_LINESCROLL 0B6h
%define EM_SCROLLCARET 0B7h
%define EM_GETMODIFY 0B8h
%define EM_SETMODIFY 0B9h
%define EM_GETLINECOUNT 0BAh
%define EM_LINEINDEX 0BBh
%define EM_SETHANDLE 0BCh
%define EM_GETHANDLE 0BDh
%define EM_GETTHUMB 0BEh
%define EM_LINELENGTH 0C1h
%define EM_REPLACESEL 0C2h
%define EM_GETLINE 0C4h
%define EM_LIMITTEXT 0C5h
%define EM_CANUNDO 0C6h
%define EM_UNDO 0C7h
%define EM_FMTLINES 0C8h
%define EM_LINEFROMCHAR 0C9h
%define EM_SETTABSTOPS 0CBh
%define EM_SETPASSWORDCHAR 0CCh
%define EM_EMPTYUNDOBUFFER 0CDh
%define EM_GETFIRSTVISIBLELINE 0CEh
%define EM_SETREADONLY 0CFh
%define EM_SETWORDBREAKPROC 0D0h
%define EM_GETWORDBREAKPROC 0D1h
%define EM_GETPASSWORDCHAR 0D2h
%define EM_SETMARGINS 0D3h
%define EM_GETMARGINS 0D4h
%define EM_SETLIMITTEXT EM_LIMITTEXT
%define EM_GETLIMITTEXT 0D5h
%define EM_POSFROMCHAR 0D6h
%define EM_CHARFROMPOS 0D7h
%define WB_LEFT 0
%define WB_RIGHT 1
%define WB_ISDELIMITER 2
%define BS_PUSHBUTTON 0h
%define BS_DEFPUSHBUTTON 1h
%define BS_CHECKBOX 2h
%define BS_AUTOCHECKBOX 3h
%define BS_RADIOBUTTON 4h
%define BS_3STATE 5h
%define BS_AUTO3STATE 6h
%define BS_GROUPBOX 7h
%define BS_USERBUTTON 8h
%define BS_AUTORADIOBUTTON 9h
%define BS_OWNERDRAW 0Bh
%define BS_LEFTTEXT 20h
%define BS_BITMAP 80h
%define BS_ICON 40h
%define BN_CLICKED 0
%define BN_PAINT 1
%define BN_HILITE 2
%define BN_UNHILITE 3
%define BN_DISABLE 4
%define BN_DOUBLECLICKED 5
%define BN_SETFOCUS 6
%define BN_KILLFOCUS 7
%define BST_UNCHECKED 00h
%define BST_CHECKED 01h
%define BST_INDETERMINATE 02h
%define BST_PUSHED 04h
%define BM_GETCHECK 0F0h
%define BM_SETCHECK 0F1h
%define BM_GETSTATE 0F2h
%define BM_SETSTATE 0F3h
%define BM_SETSTYLE 0F4h
%define BM_CLICK 0F5h
%define BM_GETIMAGE 0F6h
%define BM_SETIMAGE 0F7h
%define SS_LEFT 0h
%define SS_CENTER 1h
%define SS_RIGHT 2h
%define SS_ICON 3h
%define SS_BLACKRECT 4h
%define SS_GRAYRECT 5h
%define SS_WHITERECT 6h
%define SS_BLACKFRAME 7h
%define SS_GRAYFRAME 8h
%define SS_WHITEFRAME 9h
%define SS_USERITEM 0Ah
%define SS_SIMPLE 0Bh
%define SS_LEFTNOWORDWRAP 0Ch
%define SS_NOPREFIX 80h
%define STM_SETICON 170h
%define STM_GETICON 171h
%define STM_MSGMAX 172h
%define WC_DIALOG 8002
%define DWL_MSGRESULT 0
%define DWL_DLGPROC 4
%define DWL_USER 8
%define DDL_READWRITE 0h
%define DDL_READONLY 1h
%define DDL_HIDDEN 2h
%define DDL_SYSTEM 4h
%define DDL_DIRECTORY 10h
%define DDL_ARCHIVE 20h
%define DDL_POSTMSGS 2000h
%define DDL_DRIVES 4000h
%define DDL_EXCLUSIVE 8000h
%define DS_ABSALIGN 0001h
%define DS_SYSMODAL 0002h
%define DS_3DLOOK 0004h
%define DS_FIXEDSYS 0008h
%define DS_NOFAILCREATE 0010h
%define DS_LOCALEDIT 0020h
%define DS_SETFONT 0040h
%define DS_MODALFRAME 0080h
%define DS_NOIDLEMSG 0100h
%define DS_SETFOREGROUND 0200h
%define DS_CONTROL 0400h
%define DS_CENTER 0800h
%define DS_CENTERMOUSE 1000h
%define DS_CONTEXTHELP 2000h
%define DM_GETDEFID WM_USER+0
%define DM_SETDEFID WM_USER+1
%define DC_HASDEFID 534h
%define DLGC_WANTARROWS 1h
%define DLGC_WANTTAB 2h
%define DLGC_WANTALLKEYS 4h
%define DLGC_WANTMESSAGE 4h
%define DLGC_HASSETSEL 8h
%define DLGC_DEFPUSHBUTTON 10h
%define DLGC_UNDEFPUSHBUTTON 20h
%define DLGC_RADIOBUTTON 40h
%define DLGC_WANTCHARS 80h
%define DLGC_STATIC 100h
%define DLGC_BUTTON 2000h
%define LB_CTLCODE 0
%define LB_OKAY 0
%define LB_ERR -1
%define LB_ERRSPACE -2
%define LBN_ERRSPACE -2
%define LBN_SELCHANGE 1
%define LBN_DBLCLK 2
%define LBN_SELCANCEL 3
%define LBN_SETFOCUS 4
%define LBN_KILLFOCUS 5
%define LB_ADDSTRING 180h
%define LB_INSERTSTRING 181h
%define LB_DELETESTRING 182h
%define LB_SELITEMRANGEEX 183h
%define LB_RESETCONTENT 184h
%define LB_SETSEL 185h
%define LB_SETCURSEL 186h
%define LB_GETSEL 187h
%define LB_GETCURSEL 188h
%define LB_GETTEXT 189h
%define LB_GETTEXTLEN 18Ah
%define LB_GETCOUNT 18Bh
%define LB_SELECTSTRING 18Ch
%define LB_DIR 18Dh
%define LB_GETTOPINDEX 18Eh
%define LB_FINDSTRING 18Fh
%define LB_GETSELCOUNT 190h
%define LB_GETSELITEMS 191h
%define LB_SETTABSTOPS 192h
%define LB_GETHORIZONTALEXTENT 193h
%define LB_SETHORIZONTALEXTENT 194h
%define LB_SETCOLUMNWIDTH 195h
%define LB_ADDFILE 196h
%define LB_SETTOPINDEX 197h
%define LB_GETITEMRECT 198h
%define LB_GETITEMDATA 199h
%define LB_SETITEMDATA 19Ah
%define LB_SELITEMRANGE 19Bh
%define LB_SETANCHORINDEX 19Ch
%define LB_GETANCHORINDEX 19Dh
%define LB_SETCARETINDEX 19Eh
%define LB_GETCARETINDEX 19Fh
%define LB_SETITEMHEIGHT 1A0h
%define LB_GETITEMHEIGHT 1A1h
%define LB_FINDSTRINGEXACT 1A2h
%define LB_SETLOCALE 1A5h
%define LB_GETLOCALE 1A6h
%define LB_SETCOUNT 1A7h
%define LB_MSGMAX 1A8h
%define LBS_NOTIFY 1h
%define LBS_SORT 2h
%define LBS_NOREDRAW 4h
%define LBS_MULTIPLESEL 8h
%define LBS_OWNERDRAWFIXED 10h
%define LBS_OWNERDRAWVARIABLE 20h
%define LBS_HASSTRINGS 40h
%define LBS_USETABSTOPS 80h
%define LBS_NOINTEGRALHEIGHT 100h
%define LBS_MULTICOLUMN 200h
%define LBS_WANTKEYBOARDINPUT 400h
%define LBS_EXTENDEDSEL 800h
%define LBS_DISABLENOSCROLL 1000h
%define LBS_NODATA 2000h
%define LBS_STANDARD LBS_NOTIFY|LBS_SORT|WS_VSCROLL|WS_BORDER
%define CB_OKAY 0
%define CB_ERR -1
%define CB_ERRSPACE -2
%define CBN_ERRSPACE -1
%define CBN_SELCHANGE 1
%define CBN_DBLCLK 2
%define CBN_SETFOCUS 3
%define CBN_KILLFOCUS 4
%define CBN_EDITCHANGE 5
%define CBN_EDITUPDATE 6
%define CBN_DROPDOWN 7
%define CBN_CLOSEUP 8
%define CBN_SELENDOK 9
%define CBN_SELENDCANCEL 10
%define CBS_SIMPLE 1h
%define CBS_DROPDOWN 2h
%define CBS_DROPDOWNLIST 3h
%define CBS_OWNERDRAWFIXED 10h
%define CBS_OWNERDRAWVARIABLE 20h
%define CBS_AUTOHSCROLL 40h
%define CBS_OEMCONVERT 80h
%define CBS_SORT 100h
%define CBS_HASSTRINGS 200h
%define CBS_NOINTEGRALHEIGHT 400h
%define CBS_DISABLENOSCROLL 800h
%define CB_GETEDITSEL 140h
%define CB_LIMITTEXT 141h
%define CB_SETEDITSEL 142h
%define CB_ADDSTRING 143h
%define CB_DELETESTRING 144h
%define CB_DIR 145h
%define CB_GETCOUNT 146h
%define CB_GETCURSEL 147h
%define CB_GETLBTEXT 148h
%define CB_GETLBTEXTLEN 149h
%define CB_INSERTSTRING 14Ah
%define CB_RESETCONTENT 14Bh
%define CB_FINDSTRING 14Ch
%define CB_SELECTSTRING 14Dh
%define CB_SETCURSEL 14Eh
%define CB_SHOWDROPDOWN 14Fh
%define CB_GETITEMDATA 150h
%define CB_SETITEMDATA 151h
%define CB_GETDROPPEDCONTROLRECT 152h
%define CB_SETITEMHEIGHT 153h
%define CB_GETITEMHEIGHT 154h
%define CB_SETEXTENDEDUI 155h
%define CB_GETEXTENDEDUI 156h
%define CB_GETDROPPEDSTATE 157h
%define CB_FINDSTRINGEXACT 158h
%define CB_SETLOCALE 159h
%define CB_GETLOCALE 15Ah
%define CB_GETTOPINDEX 15Bh
%define CB_SETTOPINDEX 15Ch
%define CB_GETHORIZONTALEXTENT 15Dh
%define CB_SETHORIZONTALEXTENT 15Eh
%define CB_GETDROPPEDWIDTH 15Fh
%define CB_SETDROPPEDWIDTH 160h
%define CB_INITSTORAGE 161h
%define CB_MSGMAX 162h
%define SBS_HORZ 0h
%define SBS_VERT 1h
%define SBS_TOPALIGN 2h
%define SBS_LEFTALIGN 2h
%define SBS_BOTTOMALIGN 4h
%define SBS_RIGHTALIGN 4h
%define SBS_SIZEBOXTOPLEFTALIGN 2h
%define SBS_SIZEBOXBOTTOMRIGHTALIGN 4h
%define SBS_SIZEBOX 8h
%define SBS_SIZEGRIP 10h
%define SBM_SETPOS 0E0h
%define SBM_GETPOS 0E1h
%define SBM_SETRANGE 0E2h
%define SBM_SETRANGEREDRAW 0E6h
%define SBM_GETRANGE 0E3h
%define SBM_ENABLE_ARROWS 0E4h
%define MDIS_ALLCHILDSTYLES 1h
%define MDITILE_VERTICAL 0h
%define MDITILE_HORIZONTAL 1h
%define MDITILE_SKIPDISABLED 2h
%define HELP_CONTEXT 1h
%define HELP_QUIT 2h
%define HELP_INDEX 3h
%define HELP_CONTENTS 3h
%define HELP_HELPONHELP 4h
%define HELP_SETINDEX 5h
%define HELP_SETCONTENTS 5h
%define HELP_CONTEXTPOPUP 8h
%define HELP_FORCEFILE 9h
%define HELP_KEY 101h
%define HELP_COMMAND 102h
%define HELP_PARTIALKEY 105h
%define HELP_MULTIKEY 201h
%define HELP_SETWINPOS 203h
%define HELP_CONTEXTMENU 000Ah
%define HELP_FINDER 000Bh
%define HELP_WM_HELP 000Ch
%define HELP_SETPOPUP_POS 000Dh
%define HELP_TCARD 8000h
%define HELP_TCARD_DATA 0010h
%define HELP_TCARD_OTHER_CALLER 0011h
%define IDH_NO_HELP 28440
%define IDH_MISSING_CONTEXT 28441
%define IDH_GENERIC_HELP_BUTTON 28442
%define IDH_OK 28443
%define IDH_CANCEL 28444
%define IDH_HELP 28445
%define SPI_GETBEEP 1
%define SPI_SETBEEP 2
%define SPI_GETMOUSE 3
%define SPI_SETMOUSE 4
%define SPI_GETBORDER 5
%define SPI_SETBORDER 6
%define SPI_GETKEYBOARDSPEED 10
%define SPI_SETKEYBOARDSPEED 11
%define SPI_LANGDRIVER 12
%define SPI_ICONHORIZONTALSPACING 13
%define SPI_GETSCREENSAVETIMEOUT 14
%define SPI_SETSCREENSAVETIMEOUT 15
%define SPI_GETSCREENSAVEACTIVE 16
%define SPI_SETSCREENSAVEACTIVE 17
%define SPI_GETGRIDGRANULARITY 18
%define SPI_SETGRIDGRANULARITY 19
%define SPI_SETDESKWALLPAPER 20
%define SPI_SETDESKPATTERN 21
%define SPI_GETKEYBOARDDELAY 22
%define SPI_SETKEYBOARDDELAY 23
%define SPI_ICONVERTICALSPACING 24
%define SPI_GETICONTITLEWRAP 25
%define SPI_SETICONTITLEWRAP 26
%define SPI_GETMENUDROPALIGNMENT 27
%define SPI_SETMENUDROPALIGNMENT 28
%define SPI_SETDOUBLECLKWIDTH 29
%define SPI_SETDOUBLECLKHEIGHT 30
%define SPI_GETICONTITLELOGFONT 31
%define SPI_SETDOUBLECLICKTIME 32
%define SPI_SETMOUSEBUTTONSWAP 33
%define SPI_SETICONTITLELOGFONT 34
%define SPI_GETFASTTASKSWITCH 35
%define SPI_SETFASTTASKSWITCH 36
%define SPI_SETDRAGFULLWINDOWS 37
%define SPI_GETDRAGFULLWINDOWS 38
%define SPI_GETNONCLIENTMETRICS 41
%define SPI_SETNONCLIENTMETRICS 42
%define SPI_GETMINIMIZEDMETRICS 43
%define SPI_SETMINIMIZEDMETRICS 44
%define SPI_GETICONMETRICS 45
%define SPI_SETICONMETRICS 46
%define SPI_SETWORKAREA 47
%define SPI_GETWORKAREA 48
%define SPI_SETPENWINDOWS 49
%define SPI_GETFILTERKEYS 50
%define SPI_SETFILTERKEYS 51
%define SPI_GETTOGGLEKEYS 52
%define SPI_SETTOGGLEKEYS 53
%define SPI_GETMOUSEKEYS 54
%define SPI_SETMOUSEKEYS 55
%define SPI_GETSHOWSOUNDS 56
%define SPI_SETSHOWSOUNDS 57
%define SPI_GETSTICKYKEYS 58
%define SPI_SETSTICKYKEYS 59
%define SPI_GETACCESSTIMEOUT 60
%define SPI_SETACCESSTIMEOUT 61
%define SPI_GETSERIALKEYS 62
%define SPI_SETSERIALKEYS 63
%define SPI_GETSOUNDSENTRY 64
%define SPI_SETSOUNDSENTRY 65
%define SPI_GETHIGHCONTRAST 66
%define SPI_SETHIGHCONTRAST 67
%define SPI_GETKEYBOARDPREF 68
%define SPI_SETKEYBOARDPREF 69
%define SPI_GETSCREENREADER 70
%define SPI_SETSCREENREADER 71
%define SPI_GETANIMATION 72
%define SPI_SETANIMATION 73
%define SPI_GETFONTSMOOTHING 74
%define SPI_SETFONTSMOOTHING 75
%define SPI_SETDRAGWIDTH 76
%define SPI_SETDRAGHEIGHT 77
%define SPI_SETHANDHELD 78
%define SPI_GETLOWPOWERTIMEOUT 79
%define SPI_GETPOWEROFFTIMEOUT 80
%define SPI_SETLOWPOWERTIMEOUT 81
%define SPI_SETPOWEROFFTIMEOUT 82
%define SPI_GETLOWPOWERACTIVE 83
%define SPI_GETPOWEROFFACTIVE 84
%define SPI_SETLOWPOWERACTIVE 85
%define SPI_SETPOWEROFFACTIVE 86
%define SPI_SETCURSORS 87
%define SPI_SETICONS 88
%define SPI_GETDEFAULTINPUTLANG 89
%define SPI_SETDEFAULTINPUTLANG 90
%define SPI_SETLANGTOGGLE 91
%define SPI_GETWINDOWSEXTENSION 92
%define SPI_SETMOUSETRAILS 93
%define SPI_GETMOUSETRAILS 94
%define SPI_SCREENSAVERRUNNING 97
%define SPIF_UPDATEINIFILE 1h
%define SPIF_SENDWININICHANGE 2h
%define SEVERITY_SUCCESS 0
%define SEVERITY_ERROR 1
%define FACILITY_NT_BIT 10000000h
%define NOERROR 0
%define E_UNEXPECTED 8000FFFFh
%define E_NOTIMPL 80004001h
%define E_OUTOFMEMORY 8007000Eh
%define E_INVALIDARG 80070057h
%define E_NOINTERFACE 80004002h
%define E_POINTER 80004003h
%define E_HANDLE 80070006h
%define E_ABORT 80004004h
%define E_FAIL 80004005h
%define E_ACCESSDENIED 80070005h
%define CO_E_INIT_TLS 80004006h
%define CO_E_INIT_SHARED_ALLOCATOR 80004007h
%define CO_E_INIT_MEMORY_ALLOCATOR 80004008h
%define CO_E_INIT_CLASS_CACHE 80004009h
%define CO_E_INIT_RPC_CHANNEL 8000400Ah
%define CO_E_INIT_TLS_SET_CHANNEL_CONTROL 8000400Bh
%define CO_E_INIT_TLS_CHANNEL_CONTROL 8000400Ch
%define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR 8000400Dh
%define CO_E_INIT_SCM_MUTEX_EXISTS 8000400Eh
%define CO_E_INIT_SCM_FILE_MAPPING_EXISTS 8000400Fh
%define CO_E_INIT_SCM_MAP_VIEW_OF_FILE 80004010h
%define CO_E_INIT_SCM_EXEC_FAILURE 80004011h
%define CO_E_INIT_ONLY_SINGLE_THREADED 80004012h
%define S_OK 0h
%define S_FALSE 1h
%define OLE_E_FIRST 80040000h
%define OLE_E_LAST 800400FFh
%define OLE_S_FIRST 40000h
%define OLE_S_LAST 400FFh
%define OLE_E_OLEVERB 80040000h
%define OLE_E_ADVF 80040001h
%define OLE_E_ENUM_NOMORE 80040002h
%define OLE_E_ADVISENOTSUPPORTED 80040003h
%define OLE_E_NOCONNECTION 80040004h
%define OLE_E_NOTRUNNING 80040005h
%define OLE_E_NOCACHE 80040006h
%define OLE_E_BLANK 80040007h
%define OLE_E_CLASSDIFF 80040008h
%define OLE_E_CANT_GETMONIKER 80040009h
%define OLE_E_CANT_BINDTOSOURCE 8004000Ah
%define OLE_E_STATIC 8004000Bh
%define OLE_E_PROMPTSAVECANCELLED 8004000Ch
%define OLE_E_INVALIDRECT 8004000Dh
%define OLE_E_WRONGCOMPOBJ 8004000Eh
%define OLE_E_INVALIDHWND 8004000Fh
%define OLE_E_NOT_INPLACEACTIVE 80040010h
%define OLE_E_CANTCONVERT 80040011h
%define OLE_E_NOSTORAGE 80040012h
%define DV_E_FORMATETC 80040064h
%define DV_E_DVTARGETDEVICE 80040065h
%define DV_E_STGMEDIUM 80040066h
%define DV_E_STATDATA 80040067h
%define DV_E_LINDEX 80040068h
%define DV_E_TYMED 80040069h
%define DV_E_CLIPFORMAT 8004006Ah
%define DV_E_DVASPECT 8004006Bh
%define DV_E_DVTARGETDEVICE_SIZE 8004006Ch
%define DV_E_NOIVIEWOBJECT 8004006Dh
%define DRAGDROP_E_FIRST 80040100h
%define DRAGDROP_E_LAST 8004010Fh
%define DRAGDROP_S_FIRST 40100h
%define DRAGDROP_S_LAST 4010Fh
%define DRAGDROP_E_NOTREGISTERED 80040100h
%define DRAGDROP_E_ALREADYREGISTERED 80040101h
%define DRAGDROP_E_INVALIDHWND 80040102h
%define CLASSFACTORY_E_FIRST 80040110h
%define CLASSFACTORY_E_LAST 8004011Fh
%define CLASSFACTORY_S_FIRST 40110h
%define CLASSFACTORY_S_LAST 4011Fh
%define CLASS_E_NOAGGREGATION 80040110h
%define CLASS_E_CLASSNOTAVAILABLE 80040111h
%define MARSHAL_E_FIRST 80040120h
%define MARSHAL_E_LAST 8004012Fh
%define MARSHAL_S_FIRST 40120h
%define MARSHAL_S_LAST 4012Fh
%define DATA_E_FIRST 80040130h
%define DATA_E_LAST 8004013Fh
%define DATA_S_FIRST 40130h
%define DATA_S_LAST 4013Fh
%define VIEW_E_FIRST 80040140h
%define VIEW_E_LAST 8004014Fh
%define VIEW_S_FIRST 40140h
%define VIEW_S_LAST 4014Fh
%define VIEW_E_DRAW 80040140h
%define REGDB_E_FIRST 80040150h
%define REGDB_E_LAST 8004015Fh
%define REGDB_S_FIRST 40150h
%define REGDB_S_LAST 4015Fh
%define REGDB_E_READREGDB 80040150h
%define REGDB_E_WRITEREGDB 80040151h
%define REGDB_E_KEYMISSING 80040152h
%define REGDB_E_INVALIDVALUE 80040153h
%define REGDB_E_CLASSNOTREG 80040154h
%define REGDB_E_IIDNOTREG 80040155h
%define CACHE_E_FIRST 80040170h
%define CACHE_E_LAST 8004017Fh
%define CACHE_S_FIRST 40170h
%define CACHE_S_LAST 4017Fh
%define CACHE_E_NOCACHE_UPDATED 80040170h
%define OLEOBJ_E_FIRST 80040180h
%define OLEOBJ_E_LAST 8004018Fh
%define OLEOBJ_S_FIRST 40180h
%define OLEOBJ_S_LAST 4018Fh
%define OLEOBJ_E_NOVERBS 80040180h
%define OLEOBJ_E_INVALIDVERB 80040181h
%define CLIENTSITE_E_FIRST 80040190h
%define CLIENTSITE_E_LAST 8004019Fh
%define CLIENTSITE_S_FIRST 40190h
%define CLIENTSITE_S_LAST 4019Fh
%define INPLACE_E_NOTUNDOABLE 800401A0h
%define INPLACE_E_NOTOOLSPACE 800401A1h
%define INPLACE_E_FIRST 800401A0h
%define INPLACE_E_LAST 800401AFh
%define INPLACE_S_FIRST 401A0h
%define INPLACE_S_LAST 401AFh
%define ENUM_E_FIRST 800401B0h
%define ENUM_E_LAST 800401BFh
%define ENUM_S_FIRST 401B0h
%define ENUM_S_LAST 401BFh
%define CONVERT10_E_FIRST 800401C0h
%define CONVERT10_E_LAST 800401CFh
%define CONVERT10_S_FIRST 401C0h
%define CONVERT10_S_LAST 401CFh
%define CONVERT10_E_OLESTREAM_GET 800401C0h
%define CONVERT10_E_OLESTREAM_PUT 800401C1h
%define CONVERT10_E_OLESTREAM_FMT 800401C2h
%define CONVERT10_E_OLESTREAM_BITMAP_TO_DIB 800401C3h
%define CONVERT10_E_STG_FMT 800401C4h
%define CONVERT10_E_STG_NO_STD_STREAM 800401C5h
%define CONVERT10_E_STG_DIB_TO_BITMAP 800401C6h
%define CLIPBRD_E_FIRST 800401D0h
%define CLIPBRD_E_LAST 800401DFh
%define CLIPBRD_S_FIRST 401D0h
%define CLIPBRD_S_LAST 401DFh
%define CLIPBRD_E_CANT_OPEN 800401D0h
%define CLIPBRD_E_CANT_EMPTY 800401D1h
%define CLIPBRD_E_CANT_SET 800401D2h
%define CLIPBRD_E_BAD_DATA 800401D3h
%define CLIPBRD_E_CANT_CLOSE 800401D4h
%define MK_E_FIRST 800401E0h
%define MK_E_LAST 800401EFh
%define MK_S_FIRST 401E0h
%define MK_S_LAST 401EFh
%define MK_E_CONNECTMANUALLY 800401E0h
%define MK_E_EXCEEDEDDEADLINE 800401E1h
%define MK_E_NEEDGENERIC 800401E2h
%define MK_E_UNAVAILABLE 800401E3h
%define MK_E_SYNTAX 800401E4h
%define MK_E_NOOBJECT 800401E5h
%define MK_E_INVALIDEXTENSION 800401E6h
%define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED 800401E7h
%define MK_E_NOTBINDABLE 800401E8h
%define MK_E_NOTBOUND 800401E9h
%define MK_E_CANTOPENFILE 800401EAh
%define MK_E_MUSTBOTHERUSER 800401EBh
%define MK_E_NOINVERSE 800401ECh
%define MK_E_NOSTORAGE 800401EDh
%define MK_E_NOPREFIX 800401EEh
%define MK_E_ENUMERATION_FAILED 800401EFh
%define CO_E_FIRST 800401F0h
%define CO_E_LAST 800401FFh
%define CO_S_FIRST 401F0h
%define CO_S_LAST 401FFh
%define CO_E_NOTINITIALIZED 800401F0h
%define CO_E_ALREADYINITIALIZED 800401F1h
%define CO_E_CANTDETERMINECLASS 800401F2h
%define CO_E_CLASSSTRING 800401F3h
%define CO_E_IIDSTRING 800401F4h
%define CO_E_APPNOTFOUND 800401F5h
%define CO_E_APPSINGLEUSE 800401F6h
%define CO_E_ERRORINAPP 800401F7h
%define CO_E_DLLNOTFOUND 800401F8h
%define CO_E_ERRORINDLL 800401F9h
%define CO_E_WRONGOSFORAPP 800401FAh
%define CO_E_OBJNOTREG 800401FBh
%define CO_E_OBJISREG 800401FCh
%define CO_E_OBJNOTCONNECTED 800401FDh
%define CO_E_APPDIDNTREG 800401FEh
%define CO_E_RELEASED 800401FFh
%define OLE_S_USEREG 40000h
%define OLE_S_STATIC 40001h
%define OLE_S_MAC_CLIPFORMAT 40002h
%define DRAGDROP_S_DROP 40100h
%define DRAGDROP_S_CANCEL 40101h
%define DRAGDROP_S_USEDEFAULTCURSORS 40102h
%define DATA_S_SAMEFORMATETC 40130h
%define VIEW_S_ALREADY_FROZEN 40140h
%define CACHE_S_FORMATETC_NOTSUPPORTED 40170h
%define CACHE_S_SAMECACHE 40171h
%define CACHE_S_SOMECACHES_NOTUPDATED 40172h
%define OLEOBJ_S_INVALIDVERB 40180h
%define OLEOBJ_S_CANNOT_DOVERB_NOW 40181h
%define OLEOBJ_S_INVALIDHWND 40182h
%define INPLACE_S_TRUNCATED 401A0h
%define CONVERT10_S_NO_PRESENTATION 401C0h
%define MK_S_REDUCED_TO_SELF 401E2h
%define MK_S_ME 401E4h
%define MK_S_HIM 401E5h
%define MK_S_US 401E6h
%define MK_S_MONIKERALREADYREGISTERED 401E7h
%define CO_E_CLASS_CREATE_FAILED 80080001h
%define CO_E_SCM_ERROR 80080002h
%define CO_E_SCM_RPC_FAILURE 80080003h
%define CO_E_BAD_PATH 80080004h
%define CO_E_SERVER_EXEC_FAILURE 80080005h
%define CO_E_OBJSRV_RPC_FAILURE 80080006h
%define MK_E_NO_NORMALIZED 80080007h
%define CO_E_SERVER_STOPPING 80080008h
%define MEM_E_INVALID_ROOT 80080009h
%define MEM_E_INVALID_LINK 80080010h
%define MEM_E_INVALID_SIZE 80080011h
%define DISP_E_UNKNOWNINTERFACE 80020001h
%define DISP_E_MEMBERNOTFOUND 80020003h
%define DISP_E_PARAMNOTFOUND 80020004h
%define DISP_E_TYPEMISMATCH 80020005h
%define DISP_E_UNKNOWNNAME 80020006h
%define DISP_E_NONAMEDARGS 80020007h
%define DISP_E_BADVARTYPE 80020008h
%define DISP_E_EXCEPTION 80020009h
%define DISP_E_OVERFLOW 8002000Ah
%define DISP_E_BADINDEX 8002000Bh
%define DISP_E_UNKNOWNLCID 8002000Ch
%define DISP_E_ARRAYISLOCKED 8002000Dh
%define DISP_E_BADPARAMCOUNT 8002000Eh
%define DISP_E_PARAMNOTOPTIONAL 8002000Fh
%define DISP_E_BADCALLEE 80020010h
%define DISP_E_NOTACOLLECTION 80020011h
%define TYPE_E_BUFFERTOOSMALL 80028016h
%define TYPE_E_INVDATAREAD 80028018h
%define TYPE_E_UNSUPFORMAT 80028019h
%define TYPE_E_REGISTRYACCESS 8002801Ch
%define TYPE_E_LIBNOTREGISTERED 8002801Dh
%define TYPE_E_UNDEFINEDTYPE 80028027h
%define TYPE_E_QUALIFIEDNAMEDISALLOWED 80028028h
%define TYPE_E_INVALIDSTATE 80028029h
%define TYPE_E_WRONGTYPEKIND 8002802Ah
%define TYPE_E_ELEMENTNOTFOUND 8002802Bh
%define TYPE_E_AMBIGUOUSNAME 8002802Ch
%define TYPE_E_NAMECONFLICT 8002802Dh
%define TYPE_E_UNKNOWNLCID 8002802Eh
%define TYPE_E_DLLFUNCTIONNOTFOUND 8002802Fh
%define TYPE_E_BADMODULEKIND 800288BDh
%define TYPE_E_SIZETOOBIG 800288C5h
%define TYPE_E_DUPLICATEID 800288C6h
%define TYPE_E_INVALIDID 800288CFh
%define TYPE_E_TYPEMISMATCH 80028CA0h
%define TYPE_E_OUTOFBOUNDS 80028CA1h
%define TYPE_E_IOERROR 80028CA2h
%define TYPE_E_CANTCREATETMPFILE 80028CA3h
%define TYPE_E_CANTLOADLIBRARY 80029C4Ah
%define TYPE_E_INCONSISTENTPROPFUNCS 80029C83h
%define TYPE_E_CIRCULARTYPE 80029C84h
%define STG_E_INVALIDFUNCTION 80030001h
%define STG_E_FILENOTFOUND 80030002h
%define STG_E_PATHNOTFOUND 80030003h
%define STG_E_TOOMANYOPENFILES 80030004h
%define STG_E_ACCESSDENIED 80030005h
%define STG_E_INVALIDHANDLE 80030006h
%define STG_E_INSUFFICIENTMEMORY 80030008h
%define STG_E_INVALIDPOINTER 80030009h
%define STG_E_NOMOREFILES 80030012h
%define STG_E_DISKISWRITEPROTECTED 80030013h
%define STG_E_SEEKERROR 80030019h
%define STG_E_WRITEFAULT 8003001Dh
%define STG_E_READFAULT 8003001Eh
%define STG_E_SHAREVIOLATION 80030020h
%define STG_E_LOCKVIOLATION 80030021h
%define STG_E_FILEALREADYEXISTS 80030050h
%define STG_E_INVALIDPARAMETER 80030057h
%define STG_E_MEDIUMFULL 80030070h
%define STG_E_ABNORMALAPIEXIT 800300FAh
%define STG_E_INVALIDHEADER 800300FBh
%define STG_E_INVALIDNAME 800300FCh
%define STG_E_UNKNOWN 800300FDh
%define STG_E_UNIMPLEMENTEDFUNCTION 800300FEh
%define STG_E_INVALIDFLAG 800300FFh
%define STG_E_INUSE 80030100h
%define STG_E_NOTCURRENT 80030101h
%define STG_E_REVERTED 80030102h
%define STG_E_CANTSAVE 80030103h
%define STG_E_OLDFORMAT 80030104h
%define STG_E_OLDDLL 80030105h
%define STG_E_SHAREREQUIRED 80030106h
%define STG_E_NOTFILEBASEDSTORAGE 80030107h
%define STG_E_EXTANTMARSHALLINGS 80030108h
%define STG_S_CONVERTED 30200h
%define RPC_E_CALL_REJECTED 80010001h
%define RPC_E_CALL_CANCELED 80010002h
%define RPC_E_CANTPOST_INSENDCALL 80010003h
%define RPC_E_CANTCALLOUT_INASYNCCALL 80010004h
%define RPC_E_CANTCALLOUT_INEXTERNALCALL 80010005h
%define RPC_E_CONNECTION_TERMINATED 80010006h
%define RPC_E_SERVER_DIED 80010007h
%define RPC_E_CLIENT_DIED 80010008h
%define RPC_E_INVALID_DATAPACKET 80010009h
%define RPC_E_CANTTRANSMIT_CALL 8001000Ah
%define RPC_E_CLIENT_CANTMARSHAL_DATA 8001000Bh
%define RPC_E_CLIENT_CANTUNMARSHAL_DATA 8001000Ch
%define RPC_E_SERVER_CANTMARSHAL_DATA 8001000Dh
%define RPC_E_SERVER_CANTUNMARSHAL_DATA 8001000Eh
%define RPC_E_INVALID_DATA 8001000Fh
%define RPC_E_INVALID_PARAMETER 80010010h
%define RPC_E_CANTCALLOUT_AGAIN 80010011h
%define RPC_E_SERVER_DIED_DNE 80010012h
%define RPC_E_SYS_CALL_FAILED 80010100h
%define RPC_E_OUT_OF_RESOURCES 80010101h
%define RPC_E_ATTEMPTED_MULTITHREAD 80010102h
%define RPC_E_NOT_REGISTERED 80010103h
%define RPC_E_FAULT 80010104h
%define RPC_E_SERVERFAULT 80010105h
%define RPC_E_CHANGED_MODE 80010106h
%define RPC_E_INVALIDMETHOD 80010107h
%define RPC_E_DISCONNECTED 80010108h
%define RPC_E_RETRY 80010109h
%define RPC_E_SERVERCALL_RETRYLATER 8001010Ah
%define RPC_E_SERVERCALL_REJECTED 8001010Bh
%define RPC_E_INVALID_CALLDATA 8001010Ch
%define RPC_E_CANTCALLOUT_ININPUTSYNCCALL 8001010Dh
%define RPC_E_WRONG_THREAD 8001010Eh
%define RPC_E_THREAD_NOT_INIT 8001010Fh
%define RPC_E_UNEXPECTED 8001FFFFh
%define MAXERRORLENGTH 128
;%define MIDI_CACHE_VALID MIDI_CACHE_ALL|MIDI_CACHE_BESTFIT|MIDI_CACHE_QUERY|MIDI_UNCACHE
;%define MMIO_OPEN_VALID 3FFFFh
;%define MMIO_VALIDPROC 11070000h
%define SEEK_SET 0
%define SEEK_CUR 1
%define SEEK_END 2
%define CAPS1 94
%define C1_TRANSPARENT 1h
%define SE_ERR_SHARE 26
%define SE_ERR_ASSOCINCOMPLETE 27
%define SE_ERR_DDETIMEOUT 28
%define SE_ERR_DDEFAIL 29
%define SE_ERR_DDEBUSY 30
%define SE_ERR_NOASSOC 31
%define PRINTER_CONTROL_PAUSE 1
%define PRINTER_CONTROL_RESUME 2
%define PRINTER_CONTROL_PURGE 3
%define PRINTER_STATUS_PAUSED 1h
%define PRINTER_STATUS_ERROR 2h
%define PRINTER_STATUS_PENDING_DELETION 4h
%define PRINTER_STATUS_PAPER_JAM 8h
%define PRINTER_STATUS_PAPER_OUT 10h
%define PRINTER_STATUS_MANUAL_FEED 20h
%define PRINTER_STATUS_PAPER_PROBLEM 40h
%define PRINTER_STATUS_OFFLINE 80h
%define PRINTER_STATUS_IO_ACTIVE 100h
%define PRINTER_STATUS_BUSY 200h
%define PRINTER_STATUS_PRINTING 400h
%define PRINTER_STATUS_OUTPUT_BIN_FULL 800h
%define PRINTER_STATUS_NOT_AVAILABLE 1000h
%define PRINTER_STATUS_WAITING 2000h
%define PRINTER_STATUS_PROCESSING 4000h
%define PRINTER_STATUS_INITIALIZING 8000h
%define PRINTER_STATUS_WARMING_UP 10000h
%define PRINTER_STATUS_TONER_LOW 20000h
%define PRINTER_STATUS_NO_TONER 40000h
%define PRINTER_STATUS_PAGE_PUNT 80000h
%define PRINTER_STATUS_USER_INTERVENTION 100000h
%define PRINTER_STATUS_OUT_OF_MEMORY 200000h
%define PRINTER_STATUS_DOOR_OPEN 400000h
%define PRINTER_ATTRIBUTE_QUEUED 1h
%define PRINTER_ATTRIBUTE_DIRECT 2h
%define PRINTER_ATTRIBUTE_DEFAULT 4h
%define PRINTER_ATTRIBUTE_SHARED 8h
%define PRINTER_ATTRIBUTE_NETWORK 10h
%define PRINTER_ATTRIBUTE_HIDDEN 20h
%define PRINTER_ATTRIBUTE_LOCAL 40h
%define NO_PRIORITY 0
%define MAX_PRIORITY 99
%define MIN_PRIORITY 1
%define DEF_PRIORITY 1
%define JOB_CONTROL_PAUSE 1
%define JOB_CONTROL_RESUME 2
%define JOB_CONTROL_CANCEL 3
%define JOB_CONTROL_RESTART 4
%define JOB_STATUS_PAUSED 1h
%define JOB_STATUS_ERROR 2h
%define JOB_STATUS_DELETING 4h
%define JOB_STATUS_SPOOLING 8h
%define JOB_STATUS_PRINTING 10h
%define JOB_STATUS_OFFLINE 20h
%define JOB_STATUS_PAPEROUT 40h
%define JOB_STATUS_PRINTED 80h
%define JOB_POSITION_UNSPECIFIED 0
%define FORM_BUILTIN 1h
%define PRINTER_CONTROL_SET_STATUS 4
%define PRINTER_ATTRIBUTE_WORK_OFFLINE 400h
%define PRINTER_ATTRIBUTE_ENABLE_BIDI 800h
%define JOB_CONTROL_DELETE 5
%define JOB_STATUS_USER_INTERVENTION 10000h
%define DI_CHANNEL 1
%define DI_READ_SPOOL_JOB 3
%define PORT_TYPE_WRITE 1h
%define PORT_TYPE_READ 2h
%define PORT_TYPE_REDIRECTED 4h
%define PORT_TYPE_NET_ATTACHED 8h
%define PRINTER_ENUM_DEFAULT 1h
%define PRINTER_ENUM_LOCAL 2h
%define PRINTER_ENUM_CONNECTIONS 4h
%define PRINTER_ENUM_FAVORITE 4h
%define PRINTER_ENUM_NAME 8h
%define PRINTER_ENUM_REMOTE 10h
%define PRINTER_ENUM_SHARED 20h
%define PRINTER_ENUM_NETWORK 40h
%define PRINTER_ENUM_EXPAND 4000h
%define PRINTER_ENUM_CONTAINER 8000h
%define PRINTER_ENUM_ICONMASK 0FF0000h
%define PRINTER_ENUM_ICON1 10000h
%define PRINTER_ENUM_ICON2 20000h
%define PRINTER_ENUM_ICON3 40000h
%define PRINTER_ENUM_ICON4 80000h
%define PRINTER_ENUM_ICON5 100000h
%define PRINTER_ENUM_ICON6 200000h
%define PRINTER_ENUM_ICON7 400000h
%define PRINTER_ENUM_ICON8 800000h
%define PRINTER_CHANGE_ADD_PRINTER 1h
%define PRINTER_CHANGE_SET_PRINTER 2h
%define PRINTER_CHANGE_DELETE_PRINTER 4h
%define PRINTER_CHANGE_PRINTER 0FFh
%define PRINTER_CHANGE_ADD_JOB 100h
%define PRINTER_CHANGE_SET_JOB 200h
%define PRINTER_CHANGE_DELETE_JOB 400h
%define PRINTER_CHANGE_WRITE_JOB 800h
%define PRINTER_CHANGE_JOB 0FF00h
%define PRINTER_CHANGE_ADD_FORM 10000h
%define PRINTER_CHANGE_SET_FORM 20000h
%define PRINTER_CHANGE_DELETE_FORM 40000h
%define PRINTER_CHANGE_FORM 70000h
%define PRINTER_CHANGE_ADD_PORT 100000h
%define PRINTER_CHANGE_CONFIGURE_PORT 200000h
%define PRINTER_CHANGE_DELETE_PORT 400000h
%define PRINTER_CHANGE_PORT 700000h
%define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 1000000h
%define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 4000000h
%define PRINTER_CHANGE_PRINT_PROCESSOR 7000000h
%define PRINTER_CHANGE_ADD_PRINTER_DRIVER 10000000h
%define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 40000000h
%define PRINTER_CHANGE_PRINTER_DRIVER 70000000h
%define PRINTER_CHANGE_TIMEOUT 80000000h
%define PRINTER_CHANGE_ALL 7777FFFFh
%define PRINTER_ERROR_INFORMATION 80000000h
%define PRINTER_ERROR_WARNING 40000000h
%define PRINTER_ERROR_SEVERE 20000000h
%define PRINTER_ERROR_OUTOFPAPER 1h
%define PRINTER_ERROR_JAM 2h
%define PRINTER_ERROR_OUTOFTONER 4h
%define SERVER_ACCESS_ADMINISTER 1h
%define SERVER_ACCESS_ENUMERATE 2h
%define PRINTER_ACCESS_ADMINISTER 4h
%define PRINTER_ACCESS_USE 8h
%define JOB_ACCESS_ADMINISTER 10h
%define SERVER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE
%define SERVER_READ STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE
%define SERVER_WRITE STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE
%define SERVER_EXECUTE STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE
%define PRINTER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE
%define PRINTER_READ STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE
%define PRINTER_WRITE STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE
%define PRINTER_EXECUTE STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE
%define JOB_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER
%define JOB_READ STANDARD_RIGHTS_READ|JOB_ACCESS_ADMINISTER
%define JOB_WRITE STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER
%define JOB_EXECUTE STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER
%define RESOURCE_CONNECTED 1h
%define RESOURCE_PUBLICNET 2h
%define RESOURCE_GLOBALNET 2h
%define RESOURCE_REMEMBERED 3h
%define RESOURCE_RECENT 4h
%define RESOURCE_CONTEXT 5h
%define RESOURCETYPE_ANY 0h
%define RESOURCETYPE_DISK 1h
%define RESOURCETYPE_PRINT 2h
%define RESOURCETYPE_UNKNOWN 0FFFFh
%define RESOURCEUSAGE_CONNECTABLE 1h
%define RESOURCEUSAGE_CONTAINER 2h
%define RESOURCEUSAGE_RESERVED 80000000h
%define RESOURCEDISPLAYTYPE_GENERIC 0h
%define RESOURCEDISPLAYTYPE_DOMAIN 1h
%define RESOURCEDISPLAYTYPE_SERVER 2h
%define RESOURCEDISPLAYTYPE_SHARE 3h
%define RESOURCEDISPLAYTYPE_FILE 4h
%define RESOURCEDISPLAYTYPE_GROUP 5h
%define CONNECT_UPDATE_PROFILE 1h
%define WN_SUCCESS NO_ERROR
%define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED
%define WN_NET_ERROR ERROR_UNEXP_NET_ERR
%define WN_MORE_DATA ERROR_MORE_DATA
%define WN_BAD_POINTER ERROR_INVALID_ADDRESS
%define WN_BAD_VALUE ERROR_INVALID_PARAMETER
%define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD
%define WN_ACCESS_DENIED ERROR_ACCESS_DENIED
%define WN_FUNCTION_BUSY ERROR_BUSY
%define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR
%define WN_BAD_USER ERROR_BAD_USERNAME
%define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY
%define WN_NO_NETWORK ERROR_NO_NETWORK
%define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR
%define WN_NOT_CONNECTED ERROR_NOT_CONNECTED
%define WN_OPEN_FILES ERROR_OPEN_FILES
%define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE
%define WN_BAD_NETNAME ERROR_BAD_NET_NAME
%define WN_BAD_LOCALNAME ERROR_BAD_DEVICE
%define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED
%define WN_DEVICE_ERROR ERROR_GEN_FAILURE
%define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL
%define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH
%define WN_BAD_PROVIDER ERROR_BAD_PROVIDER
%define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE
%define WN_BAD_PROFILE ERROR_BAD_PROFILE
%define WN_BAD_HANDLE ERROR_INVALID_HANDLE
%define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS
%define WN_NOT_CONTAINER ERROR_NOT_CONTAINER
%define WN_NO_ERROR NO_ERROR
%define EXCEPTION_EXECUTE_HANDLER 1
%define EXCEPTION_CONTINUE_SEARCH 0
%define EXCEPTION_CONTINUE_EXECUTION -1
%define ctlFirst 400h
%define ctlLast 4FFh
%define psh1 400h
%define psh2 401h
%define psh3 402h
%define psh4 403h
%define psh5 404h
%define psh6 405h
%define psh7 406h
%define psh8 407h
%define psh9 408h
%define psh10 409h
%define psh11 40Ah
%define psh12 40Bh
%define psh13 40Ch
%define psh14 40Dh
%define psh15 40Eh
%define pshHelp psh15
%define psh16 40Fh
%define chx1 410h
%define chx2 411h
%define chx3 412h
%define chx4 413h
%define chx5 414h
%define chx6 415h
%define chx7 416h
%define chx8 417h
%define chx9 418h
%define chx10 419h
%define chx11 41Ah
%define chx12 41Bh
%define chx13 41Ch
%define chx14 41Dh
%define chx15 41Eh
%define chx16 41Dh
%define rad1 420h
%define rad2 421h
%define rad3 422h
%define rad4 423h
%define rad5 424h
%define rad6 425h
%define rad7 426h
%define rad8 427h
%define rad9 428h
%define rad10 429h
%define rad11 42Ah
%define rad12 42Bh
%define rad13 42Ch
%define rad14 42Dh
%define rad15 42Eh
%define rad16 42Fh
%define grp1 430h
%define grp2 431h
%define grp3 432h
%define grp4 433h
%define frm1 434h
%define frm2 435h
%define frm3 436h
%define frm4 437h
%define rct1 438h
%define rct2 439h
%define rct3 43Ah
%define rct4 43Bh
%define ico1 43Ch
%define ico2 43Dh
%define ico3 43Eh
%define ico4 43Fh
%define stc1 440h
%define stc2 441h
%define stc3 442h
%define stc4 443h
%define stc5 444h
%define stc6 445h
%define stc7 446h
%define stc8 447h
%define stc9 448h
%define stc10 449h
%define stc11 44Ah
%define stc12 44Bh
%define stc13 44Ch
%define stc14 44Dh
%define stc15 44Eh
%define stc16 44Fh
%define stc17 450h
%define stc18 451h
%define stc19 452h
%define stc20 453h
%define stc21 454h
%define stc22 455h
%define stc23 456h
%define stc24 457h
%define stc25 458h
%define stc26 459h
%define stc27 45Ah
%define stc28 45Bh
%define stc29 45Ch
%define stc30 45Dh
%define stc31 45Eh
%define stc32 45Fh
%define lst1 460h
%define lst2 461h
%define lst3 462h
%define lst4 463h
%define lst5 464h
%define lst6 465h
%define lst7 466h
%define lst8 467h
%define lst9 468h
%define lst10 469h
%define lst11 46Ah
%define lst12 46Bh
%define lst13 46Ch
%define lst14 46Dh
%define lst15 46Eh
%define lst16 46Fh
%define cmb1 470h
%define cmb2 471h
%define cmb3 472h
%define cmb4 473h
%define cmb5 474h
%define cmb6 475h
%define cmb7 476h
%define cmb8 477h
%define cmb9 478h
%define cmb10 479h
%define cmb11 47Ah
%define cmb12 47Bh
%define cmb13 47Ch
%define cmb14 47Dh
%define cmb15 47Eh
%define cmb16 47Fh
%define edt1 480h
%define edt2 481h
%define edt3 482h
%define edt4 483h
%define edt5 484h
%define edt6 485h
%define edt7 486h
%define edt8 487h
%define edt9 488h
%define edt10 489h
%define edt11 48Ah
%define edt12 48Bh
%define edt13 48Ch
%define edt14 48Dh
%define edt15 48Eh
%define edt16 48Fh
%define scr1 490h
%define scr2 491h
%define scr3 492h
%define scr4 493h
%define scr5 494h
%define scr6 495h
%define scr7 496h
%define scr8 497h
%define FILEOPENORD 1536
%define MULTIFILEOPENORD 1537
%define PRINTDLGORD 1538
%define PRNSETUPDLGORD 1539
%define FINDDLGORD 1540
%define REPLACEDLGORD 1541
%define FONTDLGORD 1542
%define FORMATDLGORD31 1543
%define FORMATDLGORD30 1544
%define HKEY_CLASSES_ROOT 80000000h
%define HKEY_CURRENT_USER 80000001h
%define HKEY_LOCAL_MACHINE 80000002h
%define HKEY_USERS 80000003h
%define HKEY_PERFORMANCE_DATA 80000004h
%define HKEY_CURRENT_CONFIG 80000005h
%define HKEY_DYN_DATA 80000006h
%define SERVICE_NO_CHANGE 0FFFFh
%define SERVICE_ACTIVE 1h
%define SERVICE_INACTIVE 2h
%define SERVICE_STATE_ALL SERVICE_ACTIVE|SERVICE_INACTIVE
%define SERVICE_CONTROL_STOP 1h
%define SERVICE_CONTROL_PAUSE 2h
%define SERVICE_CONTROL_CONTINUE 3h
%define SERVICE_CONTROL_INTERROGATE 4h
%define SERVICE_CONTROL_SHUTDOWN 5h
%define SERVICE_STOPPED 1h
%define SERVICE_START_PENDING 2h
%define SERVICE_STOP_PENDING 3h
%define SERVICE_RUNNING 4h
%define SERVICE_CONTINUE_PENDING 5h
%define SERVICE_PAUSE_PENDING 6h
%define SERVICE_PAUSED 7h
%define SERVICE_ACCEPT_STOP 1h
%define SERVICE_ACCEPT_PAUSE_CONTINUE 2h
%define SERVICE_ACCEPT_SHUTDOWN 4h
%define SC_MANAGER_CONNECT 1h
%define SC_MANAGER_CREATE_SERVICE 2h
%define SC_MANAGER_ENUMERATE_SERVICE 4h
%define SC_MANAGER_LOCK 8h
%define SC_MANAGER_QUERY_LOCK_STATUS 10h
%define SC_MANAGER_MODIFY_BOOT_CONFIG 20h
%define SC_MANAGER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SC_MANAGER_CONNECT|SC_MANAGER_CREATE_SERVICE|SC_MANAGER_ENUMERATE_SERVICE|SC_MANAGER_LOCK
%define SERVICE_QUERY_CONFIG 1h
%define SERVICE_CHANGE_CONFIG 2h
%define SERVICE_QUERY_STATUS 4h
%define SERVICE_ENUMERATE_DEPENDENTS 8h
%define SERVICE_START 10h
%define SERVICE_STOP 20h
%define SERVICE_PAUSE_CONTINUE 40h
%define SERVICE_INTERROGATE 80h
%define SERVICE_USER_DEFINED_CONTROL 100h
%define SERVICE_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SERVICE_QUERY_CONFIG|SERVICE_CHANGE_CONFIG|SERVICE_QUERY_STATUS
%define PERF_DATA_VERSION 1
%define PERF_DATA_REVISION 1
%define PERF_NO_INSTANCES -1
%define PERF_SIZE_DWORD 0h
%define PERF_SIZE_LARGE 100h
%define PERF_SIZE_ZERO 200h
%define PERF_SIZE_VARIABLE_LEN 300h
%define PERF_TYPE_NUMBER 0h
%define PERF_TYPE_COUNTER 400h
%define PERF_TYPE_TEXT 800h
%define PERF_TYPE_ZERO 0C00h
%define PERF_NUMBER_HEX 0h
%define PERF_NUMBER_DECIMAL 10000h
%define PERF_NUMBER_DEC_1000 20000h
%define PERF_COUNTER_VALUE 0h
%define PERF_COUNTER_RATE 10000h
%define PERF_COUNTER_FRACTION 20000h
%define PERF_COUNTER_BASE 30000h
%define PERF_COUNTER_ELAPSED 40000h
%define PERF_COUNTER_QUEUELEN 50000h
%define PERF_COUNTER_HISTOGRAM 60000h
%define PERF_TEXT_UNICODE 0h
%define PERF_TEXT_ASCII 10000h
%define PERF_TIMER_TICK 0h
%define PERF_TIMER_100NS 100000h
%define PERF_OBJECT_TIMER 200000h
%define PERF_DELTA_COUNTER 400000h
%define PERF_DELTA_BASE 800000h
%define PERF_INVERSE_COUNTER 1000000h
%define PERF_MULTI_COUNTER 2000000h
%define PERF_DISPLAY_NO_SUFFIX 0h
%define PERF_DISPLAY_PER_SEC 10000000h
%define PERF_DISPLAY_PERCENT 20000000h
%define PERF_DISPLAY_SECONDS 30000000h
%define PERF_DISPLAY_NOSHOW 40000000h
%define PERF_COUNTER_COUNTER PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC
%define PERF_COUNTER_TIMER PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT
%define PERF_COUNTER_QUEUELEN_TYPE PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_QUEUELEN|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX
%define PERF_COUNTER_BULK_COUNT PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC
%define PERF_COUNTER_TEXT PERF_SIZE_VARIABLE_LEN|PERF_TYPE_TEXT|PERF_TEXT_UNICODE|PERF_DISPLAY_NO_SUFFIX
%define PERF_COUNTER_RAWCOUNT PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX
%define PERF_SAMPLE_FRACTION PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DELTA_COUNTER|PERF_DELTA_BASE|PERF_DISPLAY_PERCENT
%define PERF_SAMPLE_COUNTER PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX
%define PERF_COUNTER_NODATA PERF_SIZE_ZERO|PERF_DISPLAY_NOSHOW
%define PERF_COUNTER_TIMER_INV PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT
%define PERF_SAMPLE_BASE PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|1h
%define PERF_AVERAGE_TIMER PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_SECONDS
%define PERF_AVERAGE_BASE PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|2h
%define PERF_AVERAGE_BULK PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_NOSHOW
%define PERF_100NSEC_TIMER PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT
%define PERF_100NSEC_TIMER_INV PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT
%define PERF_COUNTER_MULTI_TIMER PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_TIMER_TICK|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT
%define PERF_COUNTER_MULTI_TIMER_INV PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_MULTI_COUNTER|PERF_TIMER_TICK|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT
%define PERF_COUNTER_MULTI_BASE PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_MULTI_COUNTER|PERF_DISPLAY_NOSHOW
%define PERF_100NSEC_MULTI_TIMER PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT
%define PERF_100NSEC_MULTI_TIMER_INV PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT
%define PERF_RAW_FRACTION PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_PERCENT
%define PERF_RAW_BASE PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|3h
%define PERF_ELAPSED_TIME PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED|PERF_OBJECT_TIMER|PERF_DISPLAY_SECONDS
%define PERF_COUNTER_HISTOGRAM_TYPE 80000000h
%define PERF_DETAIL_NOVICE 100
%define PERF_DETAIL_ADVANCED 200
%define PERF_DETAIL_EXPERT 300
%define PERF_DETAIL_WIZARD 400
%define PERF_NO_UNIQUE_ID -1
%define LZERROR_BADINHANDLE -1
%define LZERROR_BADOUTHANDLE -2
%define LZERROR_READ -3
%define LZERROR_WRITE -4
%define LZERROR_PUBLICLOC -5
%define LZERROR_GLOBLOCK -6
%define LZERROR_BADVALUE -7
%define LZERROR_UNKNOWNALG -8
%define VK_PROCESSKEY 0E5h
%define WM_CONVERTREQUESTEX 108h
%define WM_IME_STARTCOMPOSITION 10Dh
%define WM_IME_ENDCOMPOSITION 10Eh
%define WM_IME_COMPOSITION 10Fh
%define WM_IME_KEYLAST 10Fh
%define WM_IME_SETCONTEXT 281h
%define WM_IME_NOTIFY 282h
%define WM_IME_CONTROL 283h
%define WM_IME_COMPOSITIONFULL 284h
%define WM_IME_SELECT 285h
%define WM_IME_CHAR 286h
%define WM_IME_KEYDOWN 290h
%define WM_IME_KEYUP 291h
%define DIALOPTION_BILLING 40h
%define DIALOPTION_QUIET 80h
%define DIALOPTION_DIALTONE 100h
%define MDMVOLFLAG_LOW 1h
%define MDMVOLFLAG_MEDIUM 2h
%define MDMVOLFLAG_HIGH 4h
%define MDMVOL_LOW 0h
%define MDMVOL_MEDIUM 1h
%define MDMVOL_HIGH 2h
%define MDMSPKRFLAG_OFF 1h
%define MDMSPKRFLAG_DIAL 2h
%define MDMSPKRFLAG_ON 4h
%define MDMSPKRFLAG_CALLSETUP 8h
%define MDMSPKR_OFF 0h
%define MDMSPKR_DIAL 1h
%define MDMSPKR_ON 2h
%define MDMSPKR_CALLSETUP 3h
%define MDM_COMPRESSION 1h
%define MDM_ERROR_CONTROL 2h
%define MDM_FORCED_EC 4h
%define MDM_CELLULAR 8h
%define MDM_FLOWCONTROL_HARD 10h
%define MDM_FLOWCONTROL_SOFT 20h
%define MDM_CCITT_OVERRIDE 40h
%define MDM_SPEED_ADJUST 80h
%define MDM_TONE_DIAL 100h
%define MDM_BLIND_DIAL 200h
%define MDM_V23_OVERRIDE 400h
%define ABM_NEW 0h
%define ABM_REMOVE 1h
%define ABM_QUERYPOS 2h
%define ABM_SETPOS 3h
%define ABM_GETSTATE 4h
%define ABM_GETTASKBARPOS 5h
%define ABM_ACTIVATE 6h
%define ABM_GETAUTOHIDEBAR 7h
%define ABM_SETAUTOHIDEBAR 8h
%define ABM_WINDOWPOSCHANGED 9h
%define ABN_STATECHANGE 0h
%define ABN_POSCHANGED 1h
%define ABN_FULLSCREENAPP 2h
%define ABN_WINDOWARRANGE 3h
%define ABS_AUTOHIDE 1h
%define ABS_ALWAYSONTOP 2h
%define ABE_LEFT 0
%define ABE_TOP 1
%define ABE_RIGHT 2
%define ABE_BOTTOM 3
%define EIRESID -1
%define FO_MOVE 1h
%define FO_COPY 2h
%define FO_DELETE 3h
%define FO_RENAME 4h
%define FOF_MULTIDESTFILES 1h
%define FOF_CONFIRMMOUSE 2h
%define FOF_SILENT 4h
%define FOF_RENAMEONCOLLISION 8h
%define FOF_NOCONFIRMATION 10h
%define FOF_WANTMAPPINGHANDLE 20h
%define FOF_ALLOWUNDO 40h
%define FOF_FILESONLY 80h
%define FOF_SIMPLEPROGRESS 100h
%define FOF_NOCONFIRMMKDIR 200h
%define PO_DELETE 13h
%define PO_RENAME 14h
%define PO_PORTCHANGE 20h
%define PO_REN_PORT 34h
%define SE_ERR_FNF 2
%define SE_ERR_PNF 3
%define SE_ERR_ACCESSDENIED 5
%define SE_ERR_OOM 8
%define SE_ERR_DLLNOTFOUND 32
%define SEE_MASK_CLASSNAME 1h
%define SEE_MASK_CLASSKEY 3h
%define SEE_MASK_IDLIST 4h
%define SEE_MASK_INVOKEIDLIST 0Ch
%define SEE_MASK_ICON 10h
%define SEE_MASK_HOTKEY 20h
%define SEE_MASK_NOCLOSEPROCESS 40h
%define SEE_MASK_CONNECTNETDRV 80h
%define SEE_MASK_FLAG_DDEWAIT 100h
%define SEE_MASK_DOENVSUBST 200h
%define SEE_MASK_FLAG_NO_UI 400h
%define NIM_ADD 0h
%define NIM_MODIFY 1h
%define NIM_DELETE 2h
%define NIF_MESSAGE 1h
%define NIF_ICON 2h
%define NIF_TIP 4h
%define SHGFI_ICON 100h
%define SHGFI_DISPLAYNAME 200h
%define SHGFI_TYPENAME 400h
%define SHGFI_ATTRIBUTES 800h
%define SHGFI_ICONLOCATION 1000h
%define SHGFI_EXETYPE 2000h
%define SHGFI_SYSICONINDEX 4000h
%define SHGFI_LINKOVERLAY 8000h
%define SHGFI_SELECTED 10000h
%define SHGFI_LARGEICON 0h
%define SHGFI_SMALLICON 1h
%define SHGFI_OPENICON 2h
%define SHGFI_SHELLICONSIZE 4h
%define SHGFI_PIDL 8h
%define SHGFI_USEFILEATTRIBUTES 10h
%define SHGNLI_PIDL 1h
%define SHGNLI_PREFIXNAME 2h
%define VS_VERSION_INFO 1
%define VS_USER_DEFINED 100
%define VS_FFI_SIGNATURE 0FEEF04BDh
%define VS_FFI_STRUCVERSION 10000h
%define VS_FFI_FILEFLAGSMASK 3Fh
%define VS_FF_DEBUG 1h
%define VS_FF_PRERELEASE 2h
%define VS_FF_PATCHED 4h
%define VS_FF_PRIVATEBUILD 8h
%define VS_FF_INFOINFERRED 10h
%define VS_FF_SPECIALBUILD 20h
%define VOS_UNKNOWN 0h
%define VOS_DOS 10000h
%define VOS_OS216 20000h
%define VOS_OS232 30000h
%define VOS_NT 40000h
%define VOS__BASE 0h
%define VOS__WINDOWS16 1h
%define VOS__PM16 2h
%define VOS__PM32 3h
%define VOS__WINDOWS32 4h
%define VOS_DOS_WINDOWS16 10001h
%define VOS_DOS_WINDOWS32 10004h
%define VOS_OS216_PM16 20002h
%define VOS_OS232_PM32 30003h
%define VOS_NT_WINDOWS32 40004h
%define VFT_UNKNOWN 0h
%define VFT_APP 1h
%define VFT_DLL 2h
%define VFT_DRV 3h
%define VFT_FONT 4h
%define VFT_VXD 5h
%define VFT_STATIC_LIB 7h
%define VFT2_UNKNOWN 0h
%define VFT2_DRV_PRINTER 1h
%define VFT2_DRV_KEYBOARD 2h
%define VFT2_DRV_LANGUAGE 3h
%define VFT2_DRV_DISPLAY 4h
%define VFT2_DRV_MOUSE 5h
%define VFT2_DRV_NETWORK 6h
%define VFT2_DRV_SYSTEM 7h
%define VFT2_DRV_INSTALLABLE 8h
%define VFT2_DRV_SOUND 9h
%define VFT2_DRV_COMM 0Ah
%define VFT2_DRV_INPUTMETHOD 0Bh
%define VFT2_FONT_RASTER 1h
%define VFT2_FONT_VECTOR 2h
%define VFT2_FONT_TRUETYPE 3h
%define VFFF_ISSHAREDFILE 1h
%define VFF_CURNEDEST 1h
%define VFF_FILEINUSE 2h
%define VFF_BUFFTOOSMALL 4h
%define VIFF_FORCEINSTALL 1h
%define VIFF_DONTDELETEOLD 2h
%define VIF_TEMPFILE 1h
%define VIF_MISMATCH 2h
%define VIF_SRCOLD 4h
%define VIF_DIFFLANG 8h
%define VIF_DIFFCODEPG 10h
%define VIF_DIFFTYPE 20h
%define VIF_WRITEPROT 40h
%define VIF_FILEINUSE 80h
%define VIF_OUTOFSPACE 100h
%define VIF_ACCESSVIOLATION 200h
%define VIF_SHARINGVIOLATION 400h
%define VIF_CANNOTCREATE 800h
%define VIF_CANNOTDELETE 1000h
%define VIF_CANNOTRENAME 2000h
%define VIF_CANNOTDELETECUR 4000h
%define VIF_OUTOFMEMORY 8000h
%define VIF_CANNOTREADSRC 10000h
%define VIF_CANNOTREADDST 20000h
%define VIF_BUFFTOOSMALL 40000h
%define PROCESS_HEAP_REGION 1h
%define PROCESS_HEAP_UNCOMMITTED_RANGE 2h
%define PROCESS_HEAP_ENTRY_BUSY 4h
%define PROCESS_HEAP_ENTRY_MOVEABLE 10h
%define PROCESS_HEAP_ENTRY_DDESHARE 20h
%define SCS_32BIT_BINARY 0
%define SCS_DOS_BINARY 1
%define SCS_WOW_BINARY 2
%define SCS_PIF_BINARY 3
%define SCS_POSIX_BINARY 4
%define SCS_OS216_BINARY 5
%define LOGON32_LOGON_INTERACTIVE 2
%define LOGON32_LOGON_BATCH 4
%define LOGON32_LOGON_SERVICE 5
%define LOGON32_PROVIDER_DEFAULT 0
%define LOGON32_PROVIDER_WINNT35 1
%define VER_PLATFORM_WIN32s 0
%define VER_PLATFORM_WIN32_WINDOWS 1
%define VER_PLATFORM_WIN32_NT 2
%define AC_LINE_OFFLINE 0h
%define AC_LINE_ONLINE 1h
%define AC_LINE_BACKUP_POWER 2h
%define AC_LINE_UNKNOWN 0FFh
%define BATTERY_FLAG_HIGH 1h
%define BATTERY_FLAG_LOW 2h
%define BATTERY_FLAG_CRITICAL 4h
%define BATTERY_FLAG_CHARGING 8h
%define BATTERY_FLAG_NO_BATTERY 80h
%define BATTERY_FLAG_UNKNOWN 0FFh
%define BATTERY_PERCENTAGE_UNKNOWN 0FFh
%define BATTERY_LIFE_UNKNOWN 0FFFFh
%define CDM_FIRST WM_USER+100
%define CDM_LAST WM_USER+200
%define CDM_GETSPEC CDM_FIRST+0h
%define CDM_GETFILEPATH CDM_FIRST+1h
%define CDM_GETFOLDERPATH CDM_FIRST+2h
%define CDM_GETFOLDERIDLIST CDM_FIRST+3h
%define CDM_SETCONTROLTEXT CDM_FIRST+4h
%define CDM_HIDECONTROL CDM_FIRST+5h
%define CDM_SETDEFEXT CDM_FIRST+6h
%define SIMULATED_FONTTYPE 8000h
%define PRINTER_FONTTYPE 4000h
%define SCREEN_FONTTYPE 2000h
%define BOLD_FONTTYPE 100h
%define ITALIC_FONTTYPE 200h
%define REGULAR_FONTTYPE 400h
%define WM_PSD_PAGESETUPDLG WM_USER
%define WM_PSD_FULLPAGERECT WM_USER+1
%define WM_PSD_MINMARGINRECT WM_USER+2
%define WM_PSD_MARGINRECT WM_USER+3
%define WM_PSD_GREEKTEXTRECT WM_USER+4
%define WM_PSD_ENVSTAMPRECT WM_USER+5
%define WM_PSD_YAFULLPAGERECT WM_USER+6
%define PSD_DEFAULTMINMARGINS 0h
%define PSD_INWININIINTLMEASURE 0h
%define PSD_MINMARGINS 1h
%define PSD_MARGINS 2h
%define PSD_INTHOUSANDTHSOFINCHES 4h
%define PSD_INHUNDREDTHSOFMILLIMETERS 8h
%define PSD_DISABLEMARGINS 10h
%define PSD_DISABLEPRINTER 20h
%define PSD_NOWARNING 80h
%define PSD_DISABLEORIENTATION 100h
%define PSD_RETURNDEFAULT 400h
%define PSD_DISABLEPAPER 200h
%define PSD_SHOWHELP 800h
%define PSD_ENABLEPAGESETUPHOOK 2000h
%define PSD_ENABLEPAGESETUPTEMPLATE 8000h
%define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 20000h
%define PSD_ENABLEPAGEPAINTHOOK 40000h
%define PSD_DISABLEPAGEPAINTING 80000h
%define NM_FIRST 0-0
%define NM_LAST 0-99
%define DBG_CONTINUE 00010002h
%define DBG_TERMINATE_THREAD 40010003h
%define DBG_TERMINATE_PROCESS 40010004h
%define DBG_CONTROL_C 40010005h
%define DBG_CONTROL_BREAK 40010008h
%define DBG_EXCEPTION_NOT_HANDLED 80010001h
%define SIZE_OF_80387_REGISTERS 80
%define MAXIMUM_SUPPORTED_EXTENSION     512
%define STATUS_WAIT_0 00000000h
%define STATUS_ABANDONED_WAIT_0 00000080h
%define STATUS_USER_APC 000000C0h
%define STATUS_TIMEOUT 00000102h
%define STATUS_PENDING 00000103h
%define STATUS_DATATYPE_MISALIGNMENT 80000002h
%define STATUS_BREAKPOINT 80000003h
%define STATUS_SINGLE_STEP 80000004h
%define STATUS_ACCESS_VIOLATION 0C0000005h
%define STATUS_IN_PAGE_ERROR 0C0000006h
%define STATUS_NO_MEMORY 0C0000017h
%define STATUS_ILLEGAL_INSTRUCTION 0C000001Dh
%define STATUS_NONCONTINUABLE_EXCEPTION 0C0000025h
%define STATUS_INVALID_DISPOSITION 0C0000026h
%define STATUS_ARRAY_BOUNDS_EXCEEDED 0C000008Ch
%define STATUS_FLOAT_DENORMAL_OPERAND 0C000008Dh
%define STATUS_FLOAT_DIVIDE_BY_ZERO 0C000008Eh
%define STATUS_FLOAT_INEXACT_RESULT 0C000008Fh
%define STATUS_FLOAT_INVALID_OPERATION 0C0000090h
%define STATUS_FLOAT_OVERFLOW 0C0000091h
%define STATUS_FLOAT_STACK_CHECK 0C0000092h
%define STATUS_FLOAT_UNDERFLOW 0C0000093h
%define STATUS_INTEGER_DIVIDE_BY_ZERO 0C0000094h
%define STATUS_INTEGER_OVERFLOW 0C0000095h
%define STATUS_PRIVILEGED_INSTRUCTION 0C0000096h
%define STATUS_STACK_OVERFLOW 0C00000FDh
%define STATUS_CONTROL_C_EXIT 0C000013Ah
%define EXCEPTION_CONTINUABLE 0
%define EXCEPTION_NONCONTINUABLE 1h
%define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
%define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
%define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
%define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
%define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
%define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
%define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
%define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
%define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
%define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
%define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
%define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
%define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
%define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
%define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
%define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
%define CONTEXT_i386 00010000h
%define CONTEXT_i486 00010000h
%define CONTEXT_CONTROL CONTEXT_i386|00000001h
%define CONTEXT_INTEGER CONTEXT_i386|00000002h
%define CONTEXT_SEGMENTS CONTEXT_i386|00000004h
%define CONTEXT_FLOATING_POINT CONTEXT_i386|00000008h
%define CONTEXT_DEBUG_REGISTERS CONTEXT_i386|00000010h
%define CONTEXT_FULL CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS
%define IMAGE_DIRECTORY_ENTRY_EXPORT 0
%define IMAGE_DIRECTORY_ENTRY_IMPORT 1
%define IMAGE_DIRECTORY_ENTRY_RESOURCE 2
%define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3
%define IMAGE_DIRECTORY_ENTRY_SECURITY 4
%define IMAGE_DIRECTORY_ENTRY_BASERELOC 5
%define IMAGE_DIRECTORY_ENTRY_DEBUG 6
%define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7
%define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8
%define IMAGE_DIRECTORY_ENTRY_TLS 9
%define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
%define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11
%define IMAGE_DIRECTORY_ENTRY_IAT 12
%define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
%define IMAGE_BITMAP 0
%define IMAGE_ICON 1
%define IMAGE_CURSOR 2
%define IMAGE_ENHMETAFILE 3
%define PROCESSOR_INTEL_386 386
%define PROCESSOR_INTEL_486 486
%define PROCESSOR_INTEL_PENTIUM 586
%define PROCESSOR_MIPS_R4000 4000
%define PROCESSOR_ALPHA_21064 21064
%define SOCKET_BUFFER_SIZE 512
%define ICMP_ECHOREPLY 0
%define ICMP_ECHOREQ 8
%define cchTextLimitDefault 32767
%define EM_CANPASTE WM_USER+50
%define EM_DISPLAYBAND WM_USER+51
%define EM_EXGETSEL WM_USER+52
%define EM_EXLIMITTEXT WM_USER+53
%define EM_EXLINEFROMCHAR WM_USER+54
%define EM_EXSETSEL WM_USER+55
%define EM_FINDTEXT WM_USER+56
%define EM_FORMATRANGE WM_USER+57
%define EM_GETCHARFORMAT WM_USER+58
%define EM_GETEVENTMASK WM_USER+59
%define EM_GETOLEINTERFACE WM_USER+60
%define EM_GETPARAFORMAT WM_USER+61
%define EM_GETSELTEXT WM_USER+62
%define EM_HIDESELECTION WM_USER+63
%define EM_PASTESPECIAL WM_USER+64
%define EM_REQUESTRESIZE WM_USER+65
%define EM_SELECTIONTYPE WM_USER+66
%define EM_SETBKGNDCOLOR WM_USER+67
%define EM_SETCHARFORMAT WM_USER+68
%define EM_SETEVENTMASK WM_USER+69
%define EM_SETOLECALLBACK WM_USER+70
%define EM_SETPARAFORMAT WM_USER+71
%define EM_SETTARGETDEVICE WM_USER+72
%define EM_STREAMIN WM_USER+73
%define EM_STREAMOUT WM_USER+74
%define EM_GETTEXTRANGE WM_USER+75
%define EM_FINDWORDBREAK WM_USER+76
%define EM_SETOPTIONS WM_USER+77
%define EM_GETOPTIONS WM_USER+78
%define EM_FINDTEXTEX WM_USER+79
%define EM_GETWORDBREAKPROCEX WM_USER+80
%define EM_SETWORDBREAKPROCEX WM_USER+81
%define EM_SETPUNCTUATION WM_USER+100
%define EM_GETPUNCTUATION WM_USER+101
%define EM_SETWORDWRAPMODE WM_USER+102
%define EM_GETWORDWRAPMODE WM_USER+103
%define EM_SETIMECOLOR WM_USER+104
%define EM_GETIMECOLOR WM_USER+105
%define EM_SETIMEOPTIONS WM_USER+106
%define EM_GETIMEOPTIONS WM_USER+107
%define EN_MSGFILTER 0700h
%define EN_REQUESTRESIZE 0701h
%define EN_SELCHANGE 0702h
%define EN_DROPFILES 0703h
%define EN_PROTECTED 0704h
%define EN_CORRECTTEXT 0705h
%define EN_STOPNOUNDO 0706h
%define EN_IMECHANGE 0707h
%define EN_SAVECLIPBOARD 0708h
%define EN_OLEOPFAILED 0709h
%define ENM_NONE 00000000h
%define ENM_CHANGE 00000001h
%define ENM_UPDATE 00000002h
%define ENM_SCROLL 00000004h
%define ENM_KEYEVENTS 00010000h
%define ENM_MOUSEEVENTS 00020000h
%define ENM_REQUESTRESIZE 00040000h
%define ENM_SELCHANGE 00080000h
%define ENM_DROPFILES 00100000h
%define ENM_PROTECTED 00200000h
%define ENM_CORRECTTEXT 00400000h
%define ENM_IMECHANGE 00800000h
%define ES_SAVESEL 00008000h
%define ES_SUNKEN 00004000h
%define ES_DISABLENOSCROLL 00002000h
%define ES_SELECTIONBAR 01000000h
%define ES_EX_NOCALLOLEINIT 01000000h
%define ES_VERTICAL 00400000h
%define ES_NOIME 00080000h
%define ES_SELFIME 00040000h
%define ECO_AUTOWORDSELECTION 00000001h
%define ECO_AUTOVSCROLL 00000040h
%define ECO_AUTOHSCROLL 00000080h
%define ECO_NOHIDESEL 00000100h
%define ECO_READONLY 00000800h
%define ECO_WANTRETURN 00001000h
%define ECO_SAVESEL 00008000h
%define ECO_SELECTIONBAR 01000000h
%define ECO_VERTICAL 00400000h
%define ECOOP_SET 0001h
%define ECOOP_OR 0002h
%define ECOOP_AND 0003h
%define ECOOP_XOR 0004h
%define WB_CLASSIFY 3
%define WB_MOVEWORDLEFT 4
%define WB_MOVEWORDRIGHT 5
%define WB_LEFTBREAK 6
%define WB_RIGHTBREAK 7
%define WB_MOVEWORDPREV 4
%define WB_MOVEWORDNEXT 5
%define WB_PREVBREAK 6
%define WB_NEXTBREAK 7
%define PC_FOLLOWING 1
%define PC_LEADING 2
%define PC_OVERFLOW 3
%define PC_DELIMITER 4
%define WBF_WORDWRAP 010h
%define WBF_WORDBREAK 020h
%define WBF_OVERFLOW 040h
%define WBF_LEVEL1 080h
%define WBF_LEVEL2 100h
%define WBF_CUSTOM 200h
%define IMF_FORCENONE 0001h
%define IMF_FORCEENABLE 0002h
%define IMF_FORCEDISABLE 0004h
%define IMF_CLOSESTATUSWINDOW 0008h
%define IMF_VERTICAL 0020h
%define IMF_FORCEACTIVE 0040h
%define IMF_FORCEINACTIVE 0080h
%define IMF_FORCEREMEMBER 0100h
%define WBF_CLASS 0Fh
%define WBF_ISWHITE 10h
%define WBF_BREAKLINE 20h
%define WBF_BREAKAFTER 40h
%define CFM_BOLD 00000001h
%define CFM_ITALIC 00000002h
%define CFM_UNDERLINE 00000004h
%define CFM_STRIKEOUT 00000008h
%define CFM_PROTECTED 00000010h
%define CFM_SIZE 80000000h
%define CFM_COLOR 40000000h
%define CFM_FACE 20000000h
%define CFM_OFFSET 10000000h
%define CFM_CHARSET 08000000h
%define CFE_BOLD 0001h
%define CFE_ITALIC 0002h
%define CFE_UNDERLINE 0004h
%define CFE_STRIKEOUT 0008h
%define CFE_PROTECTED 0010h
%define CFE_AUTOCOLOR 40000000h
%define yHeightCharPtsMost 1638
%define SCF_SELECTION 0001h
%define SCF_WORD 0002h
%define SF_TEXT 0001h
%define SF_RTF 0002h
%define SF_RTFNOOBJS 0003h
%define SF_TEXTIZED 0004h
%define SFF_SELECTION 8000h
%define SFF_PLAINRTF 4000h
%define MAX_TAB_STOPS 32
%define lDefaultTab 720
%define PFM_STARTINDENT 00000001h
%define PFM_RIGHTINDENT 00000002h
%define PFM_OFFSET 00000004h
%define PFM_ALIGNMENT 00000008h
%define PFM_TABSTOPS 00000010h
%define PFM_NUMBERING 00000020h
%define PFM_OFFSETINDENT 80000000h
%define PFN_BULLET 0001h
%define PFA_LEFT 0001h
%define PFA_RIGHT 0002h
%define PFA_CENTER 0003h
%define SEL_EMPTY 0000h
%define SEL_TEXT 0001h
%define SEL_OBJECT 0002h
%define SEL_MULTICHAR 0004h
%define SEL_MULTIOBJECT 0008h
%define OLEOP_DOVERB 1
%define CDERR_GENERALCODES 0000h
%define CDERR_STRUCTSIZE 0001h
%define CDERR_INITIALIZATION 0002h
%define CDERR_NOTEMPLATE 0003h
%define CDERR_NOHINSTANCE 0004h
%define CDERR_LOADSTRFAILURE 0005h
%define CDERR_FINDRESFAILURE 0006h
%define CDERR_LOADRESFAILURE 0007h
%define CDERR_LOCKRESFAILURE 0008h
%define CDERR_MEMALLOCFAILURE 0009h
%define CDERR_MEMLOCKFAILURE 000Ah
%define CDERR_NOHOOK 000Bh
%define CDERR_REGISTERMSGFAIL 000Ch
%define CC_RGBINIT 00000001h
%define CC_FULLOPEN 00000002h
%define CC_PREVENTFULLOPEN 00000004h
%define CC_SHOWHELP 00000008h
%define CC_ENABLEHOOK 00000010h
%define CC_ENABLETEMPLATE 00000020h
%define CC_ENABLETEMPLATEHANDLE 00000040h
%define CCERR_CHOOSECOLORCODES 5000h
%define FR_DOWN 00000001h
%define FR_WHOLEWORD 00000002h
%define FR_MATCHCASE 00000004h
%define FR_FINDNEXT 00000008h
%define FR_REPLACE 00000010h
%define FR_REPLACEALL 00000020h
%define FR_DIALOGTERM 00000040h
%define FR_SHOWHELP 00000080h
%define FR_ENABLEHOOK 00000100h
%define FR_ENABLETEMPLATE 00000200h
%define FR_NOUPDOWN 00000400h
%define FR_NOMATCHCASE 00000800h
%define FR_NOWHOLEWORD 00001000h
%define FR_ENABLETEMPLATEHANDLE 00002000h
%define FR_HIDEUPDOWN 00004000h
%define FR_HIDEMATCHCASE 00008000h
%define FR_HIDEWHOLEWORD 00010000h
%define FRERR_FINDREPLACECODES 4000h
%define FRERR_BUFFERLENGTHZERO 4001h
%define CF_SCREENFONTS 00000001h
%define CF_PRINTERFONTS 00000002h
%define CF_BOTH CF_SCREENFONTS+CF_PRINTERFONTS
%define CF_SHOWHELP 00000004h
%define CF_ENABLEHOOK 00000008h
%define CF_ENABLETEMPLATE 00000010h
%define CF_ENABLETEMPLATEHANDLE 00000020h
%define CF_INITTOLOGFONTSTRUCT 00000040h
%define CF_USESTYLE 00000080h
%define CF_EFFECTS 00000100h
%define CF_APPLY 00000200h
%define CF_ANSIONLY 00000400h
%define CF_NOVECTORFONTS 00000800h
%define CF_NOOEMFONTS CF_NOVECTORFONTS
%define CF_NOSIMULATIONS 00001000h
%define CF_LIMITSIZE 00002000h
%define CF_FIXEDPITCHONLY 00004000h
%define CF_WYSIWYG 00008000h
%define CF_FORCEFONTEXIST 00010000h
%define CF_SCALABLEONLY 00020000h
%define CF_TTONLY 00040000h
%define CF_NOFACESEL 00080000h
%define CF_NOSTYLESEL 00100000h
%define CF_NOSIZESEL 00200000h
%define CFERR_CHOOSEFONTCODES 2000h
%define CFERR_NOFONTS 2001h
%define CFERR_MAXLESSTHANMIN 2002h
%define WM_CHOOSEFONT_GETLOGFONT WM_USER+1
%define CD_LBSELNOITEMS -1
%define CD_LBSELCHANGE 0
%define CD_LBSELSUB 1
%define CD_LBSELADD 2
%define PD_ALLPAGES 00000000h
%define PD_SELECTION 00000001h
%define PD_PAGENUMS 00000002h
%define PD_NOSELECTION 00000004h
%define PD_NOPAGENUMS 00000008h
%define PD_COLLATE 00000010h
%define PD_PRINTTOFILE 00000020h
%define PD_PRINTSETUP 00000040h
%define PD_NOWARNING 00000080h
%define PD_RETURNDC 00000100h
%define PD_RETURNIC 00000200h
%define PD_RETURNDEFAULT 00000400h
%define PD_SHOWHELP 00000800h
%define PD_ENABLEPRINTHOOK 00001000h
%define PD_ENABLESETUPHOOK 00002000h
%define PD_ENABLEPRINTTEMPLATE 00004000h
%define PD_ENABLESETUPTEMPLATE 00008000h
%define PD_ENABLEPRINTTEMPLATEHANDLE 00010000h
%define PD_ENABLESETUPTEMPLATEHANDLE 00020000h
%define PD_USEDEVMODECOPIES 00040000h
%define PD_DISABLEPRINTTOFILE 00080000h
%define PD_HIDEPRINTTOFILE 00100000h
%define PDERR_PRINTERCODES 1000h
%define PDERR_SETUPFAILURE 1001h
%define PDERR_PARSEFAILURE 1002h
%define PDERR_RETDEFFAILURE 1003h
%define PDERR_LOADDRVFAILURE 1004h
%define PDERR_GETDEVMODEFAIL 1005h
%define PDERR_INITFAILURE 1006h
%define PDERR_NODEVICES 1007h
%define PDERR_NODEFAULTPRN 1008h
%define PDERR_DNDMMISMATCH 1009h
%define PDERR_CREATEICFAILURE 100Ah
%define PDERR_PRINTERNOTFOUND 100Bh
%define PDERR_DEFAULTDIFFERENT 100Ch
%define DN_DEFAULTPRN 0001h
%define OFN_ALLOWMULTISELECT 00000200h
%define OFN_CREATEPROMPT 00002000h
%define OFN_ENABLEHOOK 00000020h
%define OFN_ENABLETEMPLATE 00000040h
%define OFN_ENABLETEMPLATEHANDLE 00000080h
%define OFN_EXPLORER 00080000h
%define OFN_EXTENSIONDIFFERENT 00000400h
%define OFN_FILEMUSTEXIST 00001000h
%define OFN_HIDEREADONLY 00000004h
%define OFN_LONGNAMES 00200000h
%define OFN_NOCHANGEDIR 00000008h
%define OFN_NODEREFERENCELINKS 00100000h
%define OFN_NOLONGNAMES 00040000h
%define OFN_NONETWORKBUTTON 00020000h
%define OFN_NOREADONLYRETURN 00008000h
%define OFN_NOTESTFILECREATE 00010000h
%define OFN_NOVALIDATE 00000100h
%define OFN_OVERWRITEPROMPT 00000002h
%define OFN_PATHMUSTEXIST 00000800h
%define OFN_READONLY 00000001h
%define OFN_SHAREAWARE 00004000h
%define OFN_SHOWHELP 00000010h
%define OFN_SHAREFALLTHROUGH 2
%define OFN_SHARENOWARN 1
%define OFN_SHAREWARN 0
%define CDERR_DIALOGFAILURE 0FFFFh
%define FNERR_FILENAMECODES 3000h
%define FNERR_SUBCLASSFAILURE 3001h
%define FNERR_INVALIDFILENAME 3002h
%define FNERR_BUFFERTOOSMALL 3003h
%define ODT_HEADER 100
%define ODT_TAB 101
%define ODT_LISTVIEW 102
%define LVM_FIRST 1000h
%define TV_FIRST 1100h
%define HDM_FIRST 1200h
%define NM_OUTOFMEMORY NM_FIRST-1
%define NM_CLICK NM_FIRST-2
%define NM_DBLCLK NM_FIRST-3
%define NM_RETURN NM_FIRST-4
%define NM_RCLICK NM_FIRST-5
%define NM_RDBLCLK NM_FIRST-6
%define NM_SETFOCUS NM_FIRST-7
%define NM_KILLFOCUS NM_FIRST-8
%define CCS_TOP 00000001h
%define CCS_NOMOVEY 00000002h
%define CCS_BOTTOM 00000003h
%define CCS_NORESIZE 00000004h
%define CCS_NOPARENTALIGN 00000008h
%define CCS_ADJUSTABLE 00000020h
%define CCS_NODIVIDER 00000040h
%define CCM_FIRST 2000h
%define CCM_SETBKCOLOR CCM_FIRST+1
%define CCM_SETCOLORSCHEME CCM_FIRST+2
%define CCM_GETCOLORSCHEME CCM_FIRST+3
%define CCM_GETDROPTARGET CCM_FIRST+4
%define CCM_SETUNICODEFORMAT CCM_FIRST+5
%define CCM_GETUNICODEFORMAT CCM_FIRST+6
%define LVN_FIRST 0-100
%define LVN_LAST 0-199
%define HDN_FIRST 0-300
%define HDN_LAST 0-399
%define TVN_FIRST 0-400
%define TVN_LAST 0-499
%define TTN_FIRST 0-520
%define TTN_LAST 0-549
%define TCN_FIRST 0-550
%define TCN_LAST 0-580
%define CDN_FIRST 0-601
%define CDN_LAST 0-699
%define TBN_FIRST 0-700
%define TBN_LAST 0-720
%define UDN_FIRST 0-721
%define UDN_LAST 0-740
%define MCN_FIRST 0-750
%define MCN_LAST 0-759
%define DTN_FIRST 0-760
%define DTN_LAST 0-799
%define CBEN_FIRST 0-800
%define CBEN_LAST 0-830
%define RBN_FIRST 0-831
%define RBN_LAST 0-859
%define IPN_FIRST 0-860
%define IPN_LAST 0-879
%define SBN_FIRST 0-880
%define SBN_LAST 0-899
%define PGN_FIRST 0-900
%define PGN_LAST 0-950
%define MSGF_COMMCTRL_BEGINDRAG 4200h
%define MSGF_COMMCTRL_SIZEHEADER 4201h
%define MSGF_COMMCTRL_DRAGSELECT 4202h
%define MSGF_COMMCTRL_TOOLBARCUST 4203h
%define ICC_LISTVIEW_CLASSES 00000001h
%define ICC_TREEVIEW_CLASSES 00000002h
%define ICC_BAR_CLASSES 00000004h
%define ICC_TAB_CLASSES 00000008h
%define ICC_UPDOWN_CLASS 00000010h
%define ICC_PROGRESS_CLASS 00000020h
%define ICC_HOTKEY_CLASS 00000040h
%define ICC_ANIMATE_CLASS 00000080h
%define ICC_WIN95_CLASSES 000000FFh
%define ICC_DATE_CLASSES 00000100h
%define ICC_USEREX_CLASSES 00000200h
%define ICC_COOL_CLASSES 00000400h
%define ICC_INTERNET_CLASSES 00000800h
%define ICC_PAGESCROLLER_CLASS 00001000h
%define ICC_NATIVEFNTCTL_CLASS 00002000h
%define RBIM_IMAGELIST 00000001h
%define RBS_TOOLTIPS 0100h
%define RBS_VARHEIGHT 0200h
%define RBS_BANDBORDERS 0400h
%define RBS_FIXEDORDER 0800h
%define RBS_REGISTERDROP 1000h
%define RBS_AUTOSIZE 2000h
%define RBS_VERTICALGRIPPER 4000h
%define RBS_DBLCLKTOGGLE 8000h
%define RBBS_BREAK 00000001h
%define RBBS_FIXEDSIZE 00000002h
%define RBBS_CHILDEDGE 00000004h
%define RBBS_HIDDEN 00000008h
%define RBBS_NOVERT 00000010h
%define RBBS_FIXEDBMP 00000020h
%define RBBS_VARIABLEHEIGHT 00000040h
%define RBBS_GRIPPERALWAYS 00000080h
%define RBBS_NOGRIPPER 00000100h
%define RBBIM_STYLE 00000001h
%define RBBIM_COLORS 00000002h
%define RBBIM_TEXT 00000004h
%define RBBIM_IMAGE 00000008h
%define RBBIM_CHILD 00000010h
%define RBBIM_CHILDSIZE 00000020h
%define RBBIM_SIZE 00000040h
%define RBBIM_BACKGROUND 00000080h
%define RBBIM_ID 00000100h
%define RBBIM_IDEALSIZE 00000200h
%define RBBIM_LPARAM 00000400h
%define RBBIM_HEADERSIZE 00000800h
%define RB_INSERTBAND WM_USER+1
%define RB_DELETEBAND WM_USER+2
%define RB_GETBARINFO WM_USER+3
%define RB_SETBARINFO WM_USER+4
%define RB_GETBANDINFO WM_USER+5
%define RB_SETBANDINFO WM_USER+6
%define RB_SETPARENT WM_USER+7
%define RB_HITTEST WM_USER+8
%define RB_GETRECT WM_USER+9
%define RB_GETBANDCOUNT WM_USER+12
%define RB_GETROWCOUNT WM_USER+13
%define RB_GETROWHEIGHT WM_USER+14
%define RB_IDTOINDEX WM_USER+16
%define RB_GETTOOLTIPS WM_USER+17
%define RB_SETTOOLTIPS WM_USER+18
%define RB_SETBKCOLOR WM_USER+19
%define RB_GETBKCOLOR WM_USER+20
%define RB_SETTEXTCOLOR WM_USER+21
%define RB_GETTEXTCOLOR WM_USER+22
%define RB_SIZETORECT WM_USER+23
%define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME
%define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME
%define RB_BEGINDRAG WM_USER+24
%define RB_ENDDRAG WM_USER+25
%define RB_DRAGMOVE WM_USER+26
%define RB_GETBARHEIGHT WM_USER+27
%define RB_MINIMIZEBAND WM_USER+30
%define RB_MAXIMIZEBAND WM_USER+31
%define RB_GETDROPTARGET CCM_GETDROPTARGET
%define RB_GETBANDBORDERS WM_USER+34
%define RB_SHOWBAND WM_USER+35
%define RB_SETPALETTE WM_USER+37
%define RB_GETPALETTE WM_USER+38
%define RB_MOVEBAND WM_USER+39
%define RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
%define RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
%define RBN_HEIGHTCHANGE RBN_FIRST-0
%define RBN_GETOBJECT RBN_FIRST-1
%define RBN_LAYOUTCHANGED RBN_FIRST-2
%define RBN_AUTOSIZE RBN_FIRST-3
%define RBN_BEGINDRAG RBN_FIRST-4
%define RBN_ENDDRAG RBN_FIRST-5
%define RBN_DELETINGBAND RBN_FIRST-6
%define RBN_DELETEDBAND RBN_FIRST-7
%define RBN_CHILDSIZE RBN_FIRST-8
%define RBNM_ID 00000001h
%define RBNM_STYLE 00000002h
%define RBNM_LPARAM 00000004h
%define RBHT_NOWHERE 0001h
%define RBHT_CAPTION 0002h
%define RBHT_CLIENT 0003h
%define RBHT_GRABBER 0004h
%define CLR_NONE 0FFFFFFFFh
%define CLR_DEFAULT 0FF000000h
%define ILC_MASK 0001h
%define ILC_COLOR 0000h
%define ILC_COLORDDB 00FEh
%define ILC_COLOR4 0004h
%define ILC_COLOR8 0008h
%define ILC_COLOR16 0010h
%define ILC_COLOR24 0018h
%define ILC_COLOR32 0020h
%define ILC_PALETTE 0800h
%define ILD_NORMAL 0000h
%define ILD_TRANSPARENT 0001h
%define ILD_MASK 0010h
%define ILD_IMAGE 0020h
%define ILD_BLEND25 0002h
%define ILD_BLEND50 0004h
%define ILD_OVERLAYMASK 0F00h
%define ILD_SELECTED ILD_BLEND50
%define ILD_FOCUS ILD_BLEND25
%define ILD_BLEND ILD_BLEND50
%define CLR_HILIGHT CLR_DEFAULT
%define HDS_HORZ 00000000h
%define HDS_BUTTONS 00000002h
%define HDS_HIDDEN 00000008h
%define HDI_WIDTH 0001h
%define HDI_HEIGHT HDI_WIDTH
%define HDI_TEXT 0002h
%define HDI_FORMAT 0004h
%define HDI_LPARAM 0008h
%define HDI_BITMAP 0010h
%define HDF_LEFT 0
%define HDF_RIGHT 1
%define HDF_CENTER 2
%define HDF_JUSTIFYMASK 0003h
%define HDF_RTLREADING 4
%define HDF_OWNERDRAW 8000h
%define HDF_STRING 4000h
%define HDF_BITMAP 2000h
%define HDM_GETITEMCOUNT HDM_FIRST+0
%define HDM_INSERTITEM HDM_FIRST+1
%define HDM_INSERTITEMW HDM_FIRST+10
%define HDM_DELETEITEM HDM_FIRST+2
%define HDM_GETITEM HDM_FIRST+3
%define HDM_GETITEMW HDM_FIRST+11
%define HDM_SETITEM HDM_FIRST+4
%define HDM_SETITEMW HDM_FIRST+12
%define HDM_LAYOUT HDM_FIRST+5
%define HHT_NOWHERE 0001h
%define HHT_ONHEADER 0002h
%define HHT_ONDIVIDER 0004h
%define HHT_ONDIVOPEN 0008h
%define HHT_ABOVE 0100h
%define HHT_BELOW 0200h
%define HHT_TORIGHT 0400h
%define HHT_TOLEFT 0800h
%define HDM_HITTEST HDM_FIRST+6
%define HDN_ITEMCHANGING HDN_FIRST-0
%define HDN_ITEMCHANGINGW HDN_FIRST-20
%define HDN_ITEMCHANGED HDN_FIRST-1
%define HDN_ITEMCHANGEDW HDN_FIRST-21
%define HDN_ITEMCLICK HDN_FIRST-2
%define HDN_ITEMCLICKW HDN_FIRST-22
%define HDN_ITEMDBLCLICK HDN_FIRST-3
%define HDN_ITEMDBLCLICKW HDN_FIRST-23
%define HDN_DIVIDERDBLCLICK HDN_FIRST-5
%define HDN_DIVIDERDBLCLICKW HDN_FIRST-25
%define HDN_BEGINTRACK HDN_FIRST-6
%define HDN_BEGINTRACKW HDN_FIRST-26
%define HDN_ENDTRACK HDN_FIRST-7
%define HDN_ENDTRACKW HDN_FIRST-27
%define HDN_TRACK HDN_FIRST-8
%define HDN_TRACKW HDN_FIRST-28
%define CMB_MASKED 02h
%define TBSTATE_CHECKED 01h

%define TBSTATE_PRESSED 02h
%define TBSTATE_ENABLED 04h
%define TBSTATE_HIDDEN 08h
%define TBSTATE_INDETERMINATE 10h
%define TBSTATE_WRAP 20h
%define TBSTYLE_BUTTON 00h
%define TBSTYLE_SEP 01h
%define TBSTYLE_CHECK 02h
%define TBSTYLE_GROUP 04h
%define TBSTYLE_CHECKGROUP TBSTYLE_GROUP|TBSTYLE_CHECK
%define TBSTYLE_TOOLTIPS 0100h
%define TBSTYLE_WRAPABLE 0200h
%define TBSTYLE_ALTDRAG 0400h
%define TBSTYLE_FLAT 0800h
%define TBSTYLE_LIST 1000h
%define TBSTYLE_CUSTOMERASE 2000h
%define TBSTYLE_REGISTERDROP 4000h
%define TBSTYLE_TRANSPARENT 8000h
%define TB_ENABLEBUTTON WM_USER+1
%define TB_CHECKBUTTON WM_USER+2
%define TB_PRESSBUTTON WM_USER+3
%define TB_HIDEBUTTON WM_USER+4
%define TB_INDETERMINATE WM_USER+5
%define TB_ISBUTTONENABLED WM_USER+9
%define TB_ISBUTTONCHECKED WM_USER+10
%define TB_ISBUTTONPRESSED WM_USER+11
%define TB_ISBUTTONHIDDEN WM_USER+12
%define TB_ISBUTTONINDETERMINATE WM_USER+13
%define TB_SETSTATE WM_USER+17
%define TB_GETSTATE WM_USER+18
%define TB_ADDBITMAP WM_USER+19
%define TB_SETSTYLE WM_USER+56
%define TB_GETSTYLE WM_USER+57
%define HINST_COMMCTRL -1
%define IDB_STD_SMALL_COLOR 0
%define IDB_STD_LARGE_COLOR 1
%define IDB_VIEW_SMALL_COLOR 4
%define IDB_VIEW_LARGE_COLOR 5
%define STD_CUT 0
%define STD_COPY 1
%define STD_PASTE 2
%define STD_UNDO 3
%define STD_REDOW 4
%define STD_DELETE 5
%define STD_FILENEW 6
%define STD_FILEOPEN 7
%define STD_FILESAVE 8
%define STD_PRINTPRE 9
%define STD_PROPERTIES 10
%define STD_HELP 11
%define STD_FIND 12
%define STD_REPLACE 13
%define STD_PRINT 14
%define VIEW_LARGEICONS 0
%define VIEW_SMALLICONS 1
%define VIEW_LIST 2
%define VIEW_DETAILS 3
%define VIEW_SORTNAME 4
%define VIEW_SORTSIZE 5
%define VIEW_SORTDATE 6
%define VIEW_SORTTYPE 7
%define VIEW_PARENTFOLDER 8
%define VIEW_NETCONNECT 9
%define VIEW_NETDISCONNECT 10
%define VIEW_NEWFOLDER 11
%define TB_ADDBUTTONS WM_USER+20
%define TB_INSERTBUTTON WM_USER+21
%define TB_DELETEBUTTON WM_USER+22
%define TB_GETBUTTON WM_USER+23
%define TB_BUTTONCOUNT WM_USER+24
%define TB_COMMANDTOINDEX WM_USER+25
%define TB_SAVERESTORE WM_USER+26
%define TB_SAVERESTOREW WM_USER+76
%define TB_CUSTOMIZE WM_USER+27
%define TB_ADDSTRING WM_USER+28
%define TB_ADDSTRINGW WM_USER+77
%define TB_GETITEMRECT WM_USER+29
%define TB_BUTTONSTRUCTSIZE WM_USER+30
%define TB_SETBUTTONSIZE WM_USER+31
%define TB_SETBITMAPSIZE WM_USER+32
%define TB_AUTOSIZE WM_USER+33
%define TB_GETTOOLTIPS WM_USER+35
%define TB_SETTOOLTIPS WM_USER+36
%define TB_SETPARENT WM_USER+37
%define TB_SETROWS WM_USER+39
%define TB_GETROWS WM_USER+40
%define TB_SETCMDID WM_USER+42
%define TB_CHANGEBITMAP WM_USER+43
%define TB_GETBITMAP WM_USER+44
%define TB_GETBUTTONTEXT WM_USER+45
%define TB_GETBUTTONTEXTW WM_USER+75
%define TB_REPLACEBITMAP WM_USER+46
%define TBBF_LARGE 0001h
%define TB_GETBITMAPFLAGS WM_USER+41
%define TBN_GETBUTTONINFO TBN_FIRST-0
%define TBN_GETBUTTONINFOW TBN_FIRST-20
%define TBN_BEGINDRAG TBN_FIRST-1
%define TBN_ENDDRAG TBN_FIRST-2
%define TBN_BEGINADJUST TBN_FIRST-3
%define TBN_ENDADJUST TBN_FIRST-4
%define TBN_RESET TBN_FIRST-5
%define TBN_QUERYINSERT TBN_FIRST-6
%define TBN_QUERYDELETE TBN_FIRST-7
%define TBN_TOOLBARCHANGE TBN_FIRST-8
%define TBN_CUSTHELP TBN_FIRST-9
%define TTS_ALWAYSTIP 01h
%define TTS_NOPREFIX 02h
%define TTF_IDISHWND 01h
%define TTF_CENTERTIP 02h
%define TTF_RTLREADING 04h
%define TTF_SUBCLASS 10h
%define TTDT_AUTOMATIC 0
%define TTDT_RESHOW 1
%define TTDT_AUTOPOP 2
%define TTDT_INITIAL 3
%define TTM_ACTIVATE WM_USER+1
%define TTM_SETDELAYTIME WM_USER+3
%define TTM_ADDTOOL WM_USER+4
%define TTM_ADDTOOLW WM_USER+50
%define TTM_DELTOOL WM_USER+5
%define TTM_DELTOOLW WM_USER+51
%define TTM_NEWTOOLRECT WM_USER+6
%define TTM_NEWTOOLRECTW WM_USER+52
%define TTM_RELAYEVENT WM_USER+7
%define TTM_GETTOOLINFO WM_USER+8
%define TTM_GETTOOLINFOW WM_USER+53
%define TTM_SETTOOLINFO WM_USER+9
%define TTM_SETTOOLINFOW WM_USER+54
%define TTM_HITTEST WM_USER+10
%define TTM_HITTESTW WM_USER+55
%define TTM_GETTEXT WM_USER+11
%define TTM_GETTEXTW WM_USER+56
%define TTM_UPDATETIPTEXT WM_USER+12
%define TTM_UPDATETIPTEXTW WM_USER+57
%define TTM_GETTOOLCOUNT WM_USER+13
%define TTM_ENUMTOOLS WM_USER+14
%define TTM_ENUMTOOLSW WM_USER+58
%define TTM_GETCURRENTTOOL WM_USER+15
%define TTM_GETCURRENTTOOLW WM_USER+59
%define TTM_WINDOWFROMPOINT WM_USER+16
%define TTN_NEEDTEXT TTN_FIRST-0
%define TTN_NEEDTEXTW TTN_FIRST-10
%define TTN_SHOW TTN_FIRST-1
%define TTN_POP TTN_FIRST-2
%define SBARS_SIZEGRIP 0100h
%define SB_SETTEXT WM_USER+1
%define SB_SETTEXTW WM_USER+11
%define SB_GETTEXT WM_USER+2
%define SB_GETTEXTW WM_USER+13
%define SB_GETTEXTLENGTH WM_USER+3
%define SB_GETTEXTLENGTHW WM_USER+12
%define SB_SETPARTS WM_USER+4
%define SB_GETPARTS WM_USER+6
%define SB_GETBORDERS WM_USER+7
%define SB_SETMINHEIGHT WM_USER+8
%define SB_SIMPLE WM_USER+9
%define SB_GETRECT WM_USER+10
%define SBT_OWNERDRAW 1000h
%define SBT_NOBORDERS 0100h
%define SBT_POPOUT 0200h
%define SBT_RTLREADING 0400h
%define MINSYSCOMMAND SC_SIZE
%define TBS_AUTOTICKS 0001h
%define TBS_VERT 0002h
%define TBS_HORZ 0000h
%define TBS_TOP 0004h
%define TBS_BOTTOM 0000h
%define TBS_LEFT 0004h
%define TBS_RIGHT 0000h
%define TBS_BOTH 0008h
%define TBS_NOTICKS 0010h
%define TBS_ENABLESELRANGE 0020h
%define TBS_FIXEDLENGTH 0040h
%define TBS_NOTHUMB 0080h
%define TBM_GETPOS WM_USER
%define TBM_GETRANGEMIN WM_USER+1
%define TBM_GETRANGEMAX WM_USER+2
%define TBM_GETTIC WM_USER+3
%define TBM_SETTIC WM_USER+4
%define TBM_SETPOS WM_USER+5
%define TBM_SETRANGE WM_USER+6
%define TBM_SETRANGEMIN WM_USER+7
%define TBM_SETRANGEMAX WM_USER+8
%define TBM_CLEARTICS WM_USER+9
%define TBM_SETSEL WM_USER+10
%define TBM_SETSELSTART WM_USER+11
%define TBM_SETSELEND WM_USER+12
%define TBM_GETPTICS WM_USER+14
%define TBM_GETTICPOS WM_USER+15
%define TBM_GETNUMTICS WM_USER+16
%define TBM_GETSELSTART WM_USER+17
%define TBM_GETSELEND WM_USER+18
%define TBM_CLEARSEL WM_USER+19
%define TBM_SETTICFREQ WM_USER+20
%define TBM_SETPAGESIZE WM_USER+21
%define TBM_GETPAGESIZE WM_USER+22
%define TBM_SETLINESIZE WM_USER+23
%define TBM_GETLINESIZE WM_USER+24
%define TBM_GETTHUMBRECT WM_USER+25
%define TBM_GETCHANNELRECT WM_USER+26
%define TBM_SETTHUMBLENGTH WM_USER+27
%define TBM_GETTHUMBLENGTH WM_USER+28
%define TB_LINEUP 0
%define TB_LINEDOWN 1
%define TB_PAGEUP 2
%define TB_PAGEDOWN 3
%define TB_THUMBPOSITION 4
%define TB_THUMBTRACK 5
%define TB_TOP 6
%define TB_BOTTOM 7
%define TB_ENDTRACK 8
%define DL_BEGINDRAG WM_USER+133
%define DL_DRAGGING WM_USER+134
%define DL_DROPPED WM_USER+135
%define DL_CANCELDRAG WM_USER+136
%define DL_CURSORSET 0
%define DL_STOPCURSOR 1
%define DL_COPYCURSOR 2
%define DL_MOVECURSOR 3
%define UD_MAXVAL 7FFFh
%define UD_MINVAL -UD_MAXVAL
%define UDS_WRAP 0001h
%define UDS_SETBUDDYINT 0002h
%define UDS_ALIGNRIGHT 0004h
%define UDS_ALIGNLEFT 0008h
%define UDS_AUTOBUDDY 0010h
%define UDS_ARROWKEYS 0020h
%define UDS_HORZ 0040h
%define UDS_NOTHOUSANDS 0080h
%define UDM_SETRANGE WM_USER+101
%define UDM_GETRANGE WM_USER+102
%define UDM_SETPOS WM_USER+103
%define UDM_GETPOS WM_USER+104
%define UDM_SETBUDDY WM_USER+105
%define UDM_GETBUDDY WM_USER+106
%define UDM_SETACCEL WM_USER+107
%define UDM_GETACCEL WM_USER+108
%define UDM_SETBASE WM_USER+109
%define UDM_GETBASE WM_USER+110
%define UDN_DELTAPOS UDN_FIRST-1
%define PBM_SETRANGE WM_USER+1
%define PBM_SETPOS WM_USER+2
%define PBM_DELTAPOS WM_USER+3
%define PBM_SETSTEP WM_USER+4
%define PBM_STEPIT WM_USER+5
%define HOTKEYF_SHIFT 01h
%define HOTKEYF_CONTROL 02h
%define HOTKEYF_ALT 04h
%define HOTKEYF_EXT 08h
%define HKCOMB_NONE 0001h
%define HKCOMB_S 0002h
%define HKCOMB_C 0004h
%define HKCOMB_A 0008h
%define HKCOMB_SC 0010h
%define HKCOMB_SA 0020h
%define HKCOMB_CA 0040h
%define HKCOMB_SCA 0080h
%define HKM_SETHOTKEY WM_USER+1
%define HKM_GETHOTKEY WM_USER+2
%define HKM_SETRULES WM_USER+3
%define LVS_ICON 0000h
%define LVS_REPORT 0001h
%define LVS_SMALLICON 0002h
%define LVS_LIST 0003h
%define LVS_TYPEMASK 0003h
%define LVS_SINGLESEL 0004h
%define LVS_SHOWSELALWAYS 0008h
%define LVS_SORTASCENDING 0010h
%define LVS_SORTDESCENDING 0020h
%define LVS_SHAREIMAGELISTS 0040h
%define LVS_NOLABELWRAP 0080h
%define LVS_AUTOARRANGE 0100h
%define LVS_EDITLABELS 0200h
%define LVS_NOSCROLL 2000h
%define LVS_TYPESTYLEMASK 0fc00h
%define LVS_ALIGNTOP 0000h
%define LVS_ALIGNLEFT 0800h
%define LVS_ALIGNMASK 0c00h
%define LVS_OWNERDRAWFIXED 0400h
%define LVS_NOCOLUMNHEADER 4000h
%define LVS_NOSORTHEADER 8000h
%define LVM_GETBKCOLOR LVM_FIRST+0
%define LVM_SETBKCOLOR LVM_FIRST+1
%define LVM_GETIMAGELIST LVM_FIRST+2
%define LVSIL_NORMAL 0
%define LVSIL_SMALL 1
%define LVSIL_STATE 2
%define LVM_SETIMAGELIST LVM_FIRST+3
%define LVM_GETITEMCOUNT LVM_FIRST+4
%define LVIF_TEXT 0001h
%define LVIF_IMAGE 0002h
%define LVIF_PARAM 0004h
%define LVIF_STATE 0008h
%define LVIS_FOCUSED 0001h
%define LVIS_SELECTED 0002h
%define LVIS_CUT 0004h
%define LVIS_DROPHILITED 0008h
%define LVIS_OVERLAYMASK 0F00h
%define LVIS_STATEIMAGEMASK 0F000h
%define LPSTR_TEXTCALLBACKW -1
%define LPSTR_TEXTCALLBACK -1
%define I_IMAGECALLBACK -1
%define LVM_GETITEM LVM_FIRST+5
%define LVM_GETITEMW LVM_FIRST+75
%define LVM_SETITEM LVM_FIRST+6
%define LVM_SETITEMW LVM_FIRST+76
%define LVM_INSERTITEM LVM_FIRST+7
%define LVM_INSERTITEMW LVM_FIRST+77
%define LVM_DELETEITEM LVM_FIRST+8
%define LVM_DELETEALLITEMS LVM_FIRST+9
%define LVM_GETCALLBACKMASK LVM_FIRST+10
%define LVM_SETCALLBACKMASK LVM_FIRST+11
%define LVNI_ALL 0000h
%define LVNI_FOCUSED 0001h
%define LVNI_SELECTED 0002h
%define LVNI_CUT 0004h
%define LVNI_DROPHILITED 0008h
%define LVNI_ABOVE 0100h
%define LVNI_BELOW 0200h
%define LVNI_TOLEFT 0400h
%define LVNI_TORIGHT 0800h
%define LVM_GETNEXTITEM LVM_FIRST+12
%define LVFI_PARAM 0001h
%define LVFI_STRING 0002h
%define LVFI_PARTIAL 0008h
%define LVFI_WRAP 0020h
%define LVFI_NEARESTXY 0040h
%define LVM_FINDITEM LVM_FIRST+13
%define LVM_FINDITEMW LVM_FIRST+83
%define LVIR_BOUNDS 0
%define LVIR_ICON 1
%define LVIR_LABEL 2
%define LVIR_SELECTBOUNDS 3
%define LVM_GETITEMRECT LVM_FIRST+14
%define LVM_SETITEMPOSITION LVM_FIRST+15
%define LVM_GETITEMPOSITION LVM_FIRST+16
%define LVM_GETSTRINGWIDTH LVM_FIRST+17
%define LVM_GETSTRINGWIDTHW LVM_FIRST+87
%define LVHT_NOWHERE 0001h
%define LVHT_ONITEMICON 0002h
%define LVHT_ONITEMLABEL 0004h
%define LVHT_ONITEMSTATEICON 0008h
%define LVHT_ONITEM LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON
%define LVHT_ABOVE 0008h
%define LVHT_BELOW 0010h
%define LVHT_TORIGHT 0020h
%define LVHT_TOLEFT 0040h
%define LVM_HITTEST LVM_FIRST+18
%define LVM_ENSUREVISIBLE LVM_FIRST+19
%define LVM_SCROLL LVM_FIRST+20
%define LVM_REDRAWITEMS LVM_FIRST+21
%define LVA_DEFAULT 0000h
%define LVA_ALIGNLEFT 0001h
%define LVA_ALIGNTOP 0002h
%define LVA_SNAPTOGRID 0005h
%define LVM_ARRANGE LVM_FIRST+22
%define LVM_EDITLABEL LVM_FIRST+23
%define LVM_EDITLABELW LVM_FIRST+118
%define LVM_GETEDITCONTROL LVM_FIRST+24
%define LVCF_FMT 0001h
%define LVCF_WIDTH 0002h
%define LVCF_TEXT 0004h
%define LVCF_SUBITEM 0008h
%define LVCFMT_LEFT 0000h
%define LVCFMT_RIGHT 0001h
%define LVCFMT_CENTER 0002h
%define LVCFMT_JUSTIFYMASK 0003h
%define LVM_GETCOLUMN LVM_FIRST+25
%define LVM_GETCOLUMNW LVM_FIRST+95
%define LVM_SETCOLUMN LVM_FIRST+26
%define LVM_SETCOLUMNW LVM_FIRST+96
%define LVM_INSERTCOLUMN LVM_FIRST+27
%define LVM_INSERTCOLUMNW LVM_FIRST+97
%define LVM_DELETECOLUMN LVM_FIRST+28
%define LVM_GETCOLUMNWIDTH LVM_FIRST+29
%define LVSCW_AUTOSIZE -1
%define LVSCW_AUTOSIZE_USEHEADER -2
%define LVM_SETCOLUMNWIDTH LVM_FIRST+30
%define LVM_CREATEDRAGIMAGE LVM_FIRST+33
%define LVM_GETVIEWRECT LVM_FIRST+34
%define LVM_GETTEXTCOLOR LVM_FIRST+35
%define LVM_SETTEXTCOLOR LVM_FIRST+36
%define LVM_GETTEXTBKCOLOR LVM_FIRST+37
%define LVM_SETTEXTBKCOLOR LVM_FIRST+38
%define LVM_GETTOPINDEX LVM_FIRST+39
%define LVM_GETCOUNTPERPAGE LVM_FIRST+40
%define LVM_GETORIGIN LVM_FIRST+41
%define LVM_UPDATE LVM_FIRST+42
%define LVM_SETITEMSTATE LVM_FIRST+43
%define LVM_GETITEMSTATE LVM_FIRST+44
%define LVM_GETITEMTEXT LVM_FIRST+45
%define LVM_GETITEMTEXTW LVM_FIRST+115
%define LVM_SETITEMTEXT LVM_FIRST+46
%define LVM_SETITEMTEXTW LVM_FIRST+116
%define LVM_SETITEMCOUNT LVM_FIRST+47
%define LVM_SORTITEMS LVM_FIRST+48
%define LVM_SETITEMPOSITION32 LVM_FIRST+49
%define LVM_GETSELECTEDCOUNT LVM_FIRST+50
%define LVM_GETITEMSPACING LVM_FIRST+51
%define LVM_GETISEARCHSTRING LVM_FIRST+52
%define LVM_GETISEARCHSTRINGW LVM_FIRST+117
%define LVN_ITEMCHANGING LVN_FIRST-0
%define LVN_ITEMCHANGED LVN_FIRST-1
%define LVN_INSERTITEM LVN_FIRST-2
%define LVN_DELETEITEM LVN_FIRST-3
%define LVN_DELETEALLITEMS LVN_FIRST-4
%define LVN_BEGINLABELEDIT LVN_FIRST-5
%define LVN_BEGINLABELEDITW LVN_FIRST-75
%define LVN_ENDLABELEDIT LVN_FIRST-6
%define LVN_ENDLABELEDITW LVN_FIRST-76
%define LVN_COLUMNCLICK LVN_FIRST-8
%define LVN_BEGINDRAG LVN_FIRST-9
%define LVN_BEGINRDRAG LVN_FIRST-11
%define LVN_GETDISPINFO LVN_FIRST-50
%define LVN_GETDISPINFOW LVN_FIRST-77
%define LVN_SETDISPINFO LVN_FIRST-51
%define LVN_SETDISPINFOW LVN_FIRST-78
%define LVIF_DI_SETITEM 1000h
%define LVN_KEYDOWN LVN_FIRST-55
%define TVS_HASBUTTONS 0001h
%define TVS_HASLINES 0002h
%define TVS_LINESATROOT 0004h
%define TVS_EDITLABELS 0008h
%define TVS_DISABLEDRAGDROP 0010h
%define TVS_SHOWSELALWAYS 0020h
%define TVIF_TEXT 0001h
%define TVIF_IMAGE 0002h
%define TVIF_PARAM 0004h
%define TVIF_STATE 0008h
%define TVIF_HANDLE 0010h
%define TVIF_SELECTEDIMAGE 0020h
%define TVIF_CHILDREN 0040h
%define TVIS_FOCUSED 0001h
%define TVIS_SELECTED 0002h
%define TVIS_CUT 0004h
%define TVIS_DROPHILITED 0008h
%define TVIS_BOLD 0010h
%define TVIS_EXPANDED 0020h
%define TVIS_EXPANDEDONCE 0040h
%define TVIS_OVERLAYMASK 0F00h
%define TVIS_STATEIMAGEMASK 0F000h
%define TVIS_USERMASK 0F000h
%define I_CHILDRENCALLBACK -1
%define TVI_ROOT 0FFFF0000h
%define TVI_FIRST 0FFFF0001h
%define TVI_LAST 0FFFF0002h
%define TVI_SORT 0FFFF0003h
%define TVM_INSERTITEM TV_FIRST+0
%define TVM_INSERTITEMW TV_FIRST+50
%define TVM_DELETEITEM TV_FIRST+1
%define TVM_EXPAND TV_FIRST+2
%define TVE_COLLAPSE 0001h
%define TVE_EXPAND 0002h
%define TVE_TOGGLE 0003h
%define TVE_COLLAPSERESET 8000h
%define TVM_GETITEMRECT TV_FIRST+4
%define TVM_GETCOUNT TV_FIRST+5
%define TVM_GETINDENT TV_FIRST+6
%define TVM_SETINDENT TV_FIRST+7
%define TVM_GETIMAGELIST TV_FIRST+8
%define TVSIL_NORMAL 0
%define TVSIL_STATE 2
%define TVM_SETIMAGELIST TV_FIRST+9
%define TVM_GETNEXTITEM TV_FIRST+10
%define TVGN_ROOT 0000h
%define TVGN_NEXT 0001h
%define TVGN_PREVIOUS 0002h
%define TVGN_PARENT 0003h
%define TVGN_CHILD 0004h
%define TVGN_FIRSTVISIBLE 0005h
%define TVGN_NEXTVISIBLE 0006h
%define TVGN_PREVIOUSVISIBLE 0007h
%define TVGN_DROPHILITE 0008h
%define TVGN_CARET 0009h
%define TVM_SELECTITEM TV_FIRST+11
%define TVM_GETITEM TV_FIRST+12
%define TVM_GETITEMW TV_FIRST+62
%define TVM_SETITEM TV_FIRST+13
%define TVM_SETITEMW TV_FIRST+63
%define TVM_EDITLABEL TV_FIRST+14
%define TVM_EDITLABELW TV_FIRST+65
%define TVM_GETEDITCONTROL TV_FIRST+15
%define TVM_GETVISIBLECOUNT TV_FIRST+16
%define TVM_HITTEST TV_FIRST+17
%define TVHT_NOWHERE 0001h
%define TVHT_ONITEMICON 0002h
%define TVHT_ONITEMLABEL 0004h
%define TVHT_ONITEMSTATEICON 0040h
%define TVHT_ONITEM TVHT_ONITEMICON|TVHT_ONITEMLABEL|TVHT_ONITEMSTATEICON
%define TVHT_ONITEMINDENT 0008h
%define TVHT_ONITEMBUTTON 0010h
%define TVHT_ONITEMRIGHT 0020h
%define TVHT_ABOVE 0100h
%define TVHT_BELOW 0200h
%define TVHT_TORIGHT 0400h
%define TVHT_TOLEFT 0800h
%define TVM_CREATEDRAGIMAGE TV_FIRST+18
%define TVM_SORTCHILDREN TV_FIRST+19
%define TVM_ENSUREVISIBLE TV_FIRST+20
%define TVM_SORTCHILDRENCB TV_FIRST+21
%define TVM_ENDEDITLABELNOW TV_FIRST+22
%define TVM_GETISEARCHSTRING TV_FIRST+23
%define TVM_GETISEARCHSTRINGW TV_FIRST+64
%define TVN_SELCHANGINGA TVN_FIRST-1
%define TVN_SELCHANGINGW TVN_FIRST-50
%define TVN_SELCHANGEDA TVN_FIRST-2
%define TVN_SELCHANGEDW TVN_FIRST-51
%define TVC_UNKNOWN 0000h
%define TVC_BYMOUSE 0001h
%define TVC_BYKEYBOARD 0002h
%define TVN_GETDISPINFOA TVN_FIRST-3
%define TVN_GETDISPINFOW TVN_FIRST-52
%define TVN_SETDISPINFOA TVN_FIRST-4
%define TVN_SETDISPINFOW TVN_FIRST-53
%define TVIF_DI_SETITEM 1000h
%define TVN_ITEMEXPANDING TVN_FIRST-5
%define TVN_ITEMEXPANDINGW TVN_FIRST-54
%define TVN_ITEMEXPANDED TVN_FIRST-6
%define TVN_ITEMEXPANDEDW TVN_FIRST-55
%define TVN_BEGINDRAG TVN_FIRST-7
%define TVN_BEGINDRAGW TVN_FIRST-56
%define TVN_BEGINRDRAG TVN_FIRST-8
%define TVN_BEGINRDRAGW TVN_FIRST-57
%define TVN_DELETEITEM TVN_FIRST-9
%define TVN_DELETEITEMW TVN_FIRST-58
%define TVN_BEGINLABELEDIT TVN_FIRST-10
%define TVN_BEGINLABELEDITW TVN_FIRST-59
%define TVN_ENDLABELEDIT TVN_FIRST-11
%define TVN_ENDLABELEDITW TVN_FIRST-60
%define TVN_KEYDOWN TVN_FIRST-12
%define TCS_FORCEICONLEFT 0010h
%define TCS_FORCELABELLEFT 0020h
%define TCS_TABS 0000h
%define TCS_BUTTONS 0100h
%define TCS_SINGLELINE 0000h
%define TCS_MULTILINE 0200h
%define TCS_RIGHTJUSTIFY 0000h
%define TCS_FIXEDWIDTH 0400h
%define TCS_RAGGEDRIGHT 0800h
%define TCS_FOCUSONBUTTONDOWN 1000h
%define TCS_OWNERDRAWFIXED 2000h
%define TCS_TOOLTIPS 4000h
%define TCS_FOCUSNEVER 8000h
%define TCM_FIRST 1300h
%define TCM_GETIMAGELIST TCM_FIRST+2
%define TCM_SETIMAGELIST TCM_FIRST+3
%define TCM_GETITEMCOUNT TCM_FIRST+4
%define TCIF_TEXT 0001h
%define TCIF_IMAGE 0002h
%define TCIF_RTLREADING 0004h
%define TCIF_PARAM 0008h
%define TCM_GETITEM TCM_FIRST+5
%define TCM_SETITEM TCM_FIRST+6
%define TCM_SETITEMW TCM_FIRST+61
%define TCM_INSERTITEM TCM_FIRST+7
%define TCM_INSERTITEMW TCM_FIRST+62
%define TCM_DELETEITEM TCM_FIRST+8
%define TCM_DELETEALLITEMS TCM_FIRST+9
%define TCM_GETITEMRECT TCM_FIRST+10
%define TCM_GETCURSEL TCM_FIRST+11
%define TCM_SETCURSEL TCM_FIRST+12
%define TCHT_NOWHERE 0001h
%define TCHT_ONITEMICON 0002h
%define TCHT_ONITEMLABEL 0004h
%define TCHT_ONITEM TCHT_ONITEMICON|TCHT_ONITEMLABEL
%define TCM_HITTEST TCM_FIRST+13
%define TCM_SETITEMEXTRA TCM_FIRST+14
%define TCM_ADJUSTRECT TCM_FIRST+40
%define TCM_SETITEMSIZE TCM_FIRST+41
%define TCM_REMOVEIMAGE TCM_FIRST+42
%define TCM_SETPADDING TCM_FIRST+43
%define TCM_GETROWCOUNT TCM_FIRST+44
%define TCM_GETTOOLTIPS TCM_FIRST+45
%define TCM_SETTOOLTIPS TCM_FIRST+46
%define TCM_GETCURFOCUS TCM_FIRST+47
%define TCM_SETCURFOCUS TCM_FIRST+48
%define TCN_KEYDOWN TCN_FIRST-0
%define TCN_SELCHANGE TCN_FIRST-1
%define TCN_SELCHANGING TCN_FIRST-2
%define ACS_CENTER 0001h
%define ACS_TRANSPARENT 0002h
%define ACS_AUTOPLAY 0004h
%define ACM_OPEN WM_USER+100
%define ACM_OPENW WM_USER+103
%define ACM_PLAY WM_USER+101
%define ACM_STOP WM_USER+102
%define ACN_START 1
%define ACN_STOP 2

;// structures
NASMX_STRUC RECT
    NASMX_RESERVE left,   int32_t, 1
    NASMX_RESERVE top,    int32_t, 1
    NASMX_RESERVE right,  int32_t, 1
    NASMX_RESERVE bottom, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC POINT
    NASMX_RESERVE x, int32_t, 1
    NASMX_RESERVE y, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC POINTS
    NASMX_RESERVE x, int16_t, 1
    NASMX_RESERVE y, int16_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SIZEL
    NASMX_RESERVE x, int32_t, 1
    NASMX_RESERVE y, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MSG
    NASMX_RESERVE hwnd,    ptrdiff_t, 1
    NASMX_RESERVE message, uint32_t, 1
    NASMX_RESERVE wParam,  size_t, 1
    NASMX_RESERVE lParam,  size_t, 1
    NASMX_RESERVE time,    uint32_t, 1
	NASMX_STRUC pt, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	%ifidn __OUTPUT_FORMAT__,macho
	    NASMX_RESERVE lPrivate, int32_t, 1
	%elifidn __OUTPUT_FORMAT__,macho32
	    NASMX_RESERVE lPrivate, int32_t, 1
	%elifidn __OUTPUT_FORMAT__,macho64
	    NASMX_RESERVE lPrivate, int64_t, 1
	%endif
NASMX_ENDSTRUC

NASMX_STRUC SID_AND_ATTRIBUTES
    NASMX_RESERVE Sid,        ptrdiff_t, 1
    NASMX_RESERVE Attributes, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SID_IDENTIFIER_AUTHORITY
    NASMX_RESERVE Value, int8_t, 6
NASMX_ENDSTRUC

NASMX_STRUC OVERLAPPED
    NASMX_RESERVE Internal,     ptrdiff_t, 1
    NASMX_RESERVE InternalHigh, ptrdiff_t, 1
    NASMX_RESERVE loffset,      uint32_t, 1
    NASMX_RESERVE OffsetHigh,   uint32_t, 1
    NASMX_RESERVE hEvent,       ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SECURITY_ATTRIBUTES
    NASMX_RESERVE niLength,             uint32_t, 1
    NASMX_RESERVE lpSecurityDescriptor, ptrdiff_t, 1
    NASMX_RESERVE bInheritHandle,       int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PROCESS_INFORMATION
    NASMX_RESERVE hProcess,    ptrdiff_t, 1
    NASMX_RESERVE hThread,     ptrdiff_t, 1
    NASMX_RESERVE dwProcessId, uint32_t, 1
    NASMX_RESERVE dwThreadId,  uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC FILETIME
    NASMX_RESERVE dwLowDateTime,  uint32_t, 1
    NASMX_RESERVE dwHighDateTime, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SYSTEMTIME
    NASMX_RESERVE wYear,         ushort_t, 1
    NASMX_RESERVE wMonth,        ushort_t, 1
    NASMX_RESERVE wDayOfWeek,    ushort_t, 1
    NASMX_RESERVE wDay,          ushort_t, 1
    NASMX_RESERVE wHour,         ushort_t, 1
    NASMX_RESERVE wMinute,       ushort_t, 1
    NASMX_RESERVE wSecond,       ushort_t, 1
    NASMX_RESERVE wMilliseconds, ushort_t, 1
NASMX_ENDSTRUC

NASMX_STRUC COMMPROP
    NASMX_RESERVE wPacketiLength,      uint16_t, 1
    NASMX_RESERVE wPacketVersion,      uint16_t, 1
    NASMX_RESERVE dwServiceMask,       uint32_t, 1
    NASMX_RESERVE dwReserved1,         uint32_t, 1
    NASMX_RESERVE dwMaxTxQueue,        uint32_t, 1
    NASMX_RESERVE dwMaxRxQueue,        uint32_t, 1
    NASMX_RESERVE dwMaxBaud,           uint32_t, 1
    NASMX_RESERVE dwProvSubType,       uint32_t, 1
    NASMX_RESERVE dwProvCapabilities,  uint32_t, 1
    NASMX_RESERVE dwSettableParams,    uint32_t, 1
    NASMX_RESERVE dwSettableBaud,      uint32_t, 1
    NASMX_RESERVE wSettableData,       uint16_t, 1
    NASMX_RESERVE wSettableStopParity, uint16_t, 1
    NASMX_RESERVE dwCurrentTxQueue,    uint32_t, 1
    NASMX_RESERVE dwCurrentRxQueue,    uint32_t, 1
    NASMX_RESERVE dwProvSpec1,         uint32_t, 1
    NASMX_RESERVE dwProvSpec2,         uint32_t, 1
    NASMX_RESERVE wcProvChar,          wchar_t, 1
NASMX_ENDSTRUC

NASMX_STRUC COMSTAT
    NASMX_RESERVE bits,  uint32_t, 1

;    NASMX_UNION bits
;        NASMX_RESERVE fCtsHold,  uint32_t, 1
;        NASMX_RESERVE fDsrHold,  uint32_t, 1
;        NASMX_RESERVE fRlsdHold, uint32_t, 1
;        NASMX_RESERVE fXoffHold, uint32_t, 1
;        NASMX_RESERVE fXoffSent, uint32_t, 1
;        NASMX_RESERVE fEof,      uint32_t, 1
;        NASMX_RESERVE fTxim,     uint32_t, 1
;        NASMX_RESERVE fReserved, uint32_t, 1
;    NASMX_ENDUNION
    NASMX_RESERVE cbInQue,  uint32_t, 1
    NASMX_RESERVE cbOutQue, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DCB
    NASMX_RESERVE DCBlength, int32_t, 1
    NASMX_RESERVE BaudRate,  int32_t, 1
    NASMX_RESERVE uFlags, uint32_t, 1
    NASMX_RESERVE wReserved, short_t, 1
    NASMX_RESERVE XonLim,    short_t, 1
    NASMX_RESERVE XoffLim,   short_t, 1
    NASMX_RESERVE ByteSize,  int8_t, 1
    NASMX_RESERVE Parity,    int8_t, 1
    NASMX_RESERVE StopBits,  int8_t, 1
    NASMX_RESERVE XonChar,   int8_t, 1
    NASMX_RESERVE XoffChar,  int8_t, 1
    NASMX_RESERVE ErrorChar, int8_t, 1
    NASMX_RESERVE EofChar,   int8_t, 1
    NASMX_RESERVE EvtChar,   int8_t, 1
    NASMX_RESERVE wReserved1, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC COMMTIMEOUTS
    NASMX_RESERVE ReadIntervalTimeout,         uint32_t, 1
    NASMX_RESERVE ReadTotalTimeoutMultiplier,  uint32_t, 1
    NASMX_RESERVE ReadTotalTimeoutConstant,    uint32_t, 1
    NASMX_RESERVE WriteTotalTimeoutMultiplier, uint32_t, 1
    NASMX_RESERVE WriteTotalTimeoutConstant,   uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PROCESSOR_ARCH
    NASMX_RESERVE wProcessorArchitecture, uint16_t, 1
    NASMX_RESERVE wReserved,              uint16_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SYSTEM_INFO
;    NASMX_UNION u
        NASMX_RESERVE dwOemID, uint32_t, 1
;        NASMX_RESERVE pa, PROCESSOR_ARCH, 1
;    NASMX_ENDUNION
    NASMX_RESERVE dwPageSize, uint32_t, 1
    NASMX_RESERVE lpMinimumApplicationAddress, ptrdiff_t, 1
    NASMX_RESERVE lpMaximumApplicationAddress, ptrdiff_t, 1
    NASMX_RESERVE dwActiveProcessorMask,   size_t, 1
    NASMX_RESERVE dwNumberOrfProcessors,   uint32_t, 1
    NASMX_RESERVE dwProcessorType,         uint32_t, 1
    NASMX_RESERVE dwAllocationGranularity, uint32_t, 1
    NASMX_RESERVE wProcessorLevel,         uint16_t, 1
    NASMX_RESERVE wProcessorRevision,      uint16_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MEMORYSTATUS
    NASMX_RESERVE dwiLength,       uint32_t, 1
    NASMX_RESERVE dwMemoryLoad,    uint32_t, 1
    NASMX_RESERVE dwTotalPhys,     size_t, 1
    NASMX_RESERVE dwAvailPhys,     size_t, 1
    NASMX_RESERVE dwTotalPageFile, size_t, 1
    NASMX_RESERVE dwAvailPageFile, size_t, 1
    NASMX_RESERVE dwTotalVirtual,  size_t, 1
    NASMX_RESERVE dwAvailVirtual,  size_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TPMPARAMS
    NASMX_RESERVE cbSize, uint32_t, 1
	NASMX_STRUC rcExclude, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC GENERIC_MAPPING
    NASMX_RESERVE GenericRead,    uint32_t, 1
    NASMX_RESERVE GenericWrite,   uint32_t, 1
    NASMX_RESERVE GenericExecute, uint32_t, 1
    NASMX_RESERVE GenericAll,     uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LUID
    NASMX_RESERVE LowPart,  uint32_t, 1
    NASMX_RESERVE HighPart, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LUID_AND_ATTRIBUTES
    NASMX_STRUC Luid, LUID
        NASMX_RESERVE LowPart,  uint32_t, 1
        NASMX_RESERVE HighPart, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE Attributes,   uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ACL
    NASMX_RESERVE AclRevision, int8_t, 1
    NASMX_RESERVE Sbz1,        int8_t, 1
    NASMX_RESERVE AclSize,     uint16_t, 1
    NASMX_RESERVE AceCount,    uint16_t, 1
    NASMX_RESERVE Sbz2,        uint16_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ACE_HEADER
    NASMX_RESERVE AceType,  int8_t, 1
    NASMX_RESERVE AceFlags, int8_t, 1
    NASMX_RESERVE AceSize,  uint16_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ACCESS_ALLOWED_ACE
	NASMX_STRUC Header, ACE_HEADER
		NASMX_RESERVE AceType,  int8_t, 1
		NASMX_RESERVE AceFlags, int8_t, 1
		NASMX_RESERVE AceSize,  uint16_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE imask,    uint32_t, 1
    NASMX_RESERVE SidStart, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ACCESS_DENIED_ACE
	NASMX_STRUC Header, ACE_HEADER
		NASMX_RESERVE AceType,  int8_t, 1
		NASMX_RESERVE AceFlags, int8_t, 1
		NASMX_RESERVE AceSize,  uint16_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE imask, uint32_t, 1
    NASMX_RESERVE SidStart, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SYSTEM_AUDIT_ACE
	NASMX_STRUC Header, ACE_HEADER
		NASMX_RESERVE AceType,  int8_t, 1
		NASMX_RESERVE AceFlags, int8_t, 1
		NASMX_RESERVE AceSize,  uint16_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE imask, uint32_t, 1
    NASMX_RESERVE SidStart, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SYSTEM_ALARM_ACE
	NASMX_STRUC Header, ACE_HEADER
		NASMX_RESERVE AceType,  int8_t, 1
		NASMX_RESERVE AceFlags, int8_t, 1
		NASMX_RESERVE AceSize,  uint16_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE imask,    uint32_t, 1
    NASMX_RESERVE SidStart, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ACL_REVISION_INFORMATION
    NASMX_RESERVE AclRevision, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ACL_SIZE_INFORMATION
    NASMX_RESERVE AceCount,      uint32_t, 1
    NASMX_RESERVE AclBytesInUse, uint32_t, 1
    NASMX_RESERVE AclBytesFree,  uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SECURITY_DESCRIPTOR
    NASMX_RESERVE Revision, int8_t, 1
    NASMX_RESERVE Sbz1,     int8_t, 1
    NASMX_RESERVE Control,  uint16_t, 1
    NASMX_RESERVE Owner,    ptrdiff_t, 1
    NASMX_RESERVE lGroup,   ptrdiff_t, 1
    NASMX_RESERVE Sacl,     ptrdiff_t, 1
    NASMX_RESERVE Dacl,     ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PRIVILEGE_SET
    NASMX_RESERVE PrivilegeCount, uint32_t, 1
    NASMX_RESERVE Control,        uint32_t, 1
	NASMX_STRUC Privilege, LUID_AND_ATTRIBUTES
        NASMX_STRUC Luid, LUID
            NASMX_RESERVE LowPart,  uint32_t, 1
            NASMX_RESERVE HighPart, int32_t, 1
        NASMX_ENDSTRUC
        NASMX_RESERVE Attributes,   uint32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EXCEPTION_RECORD
    NASMX_RESERVE ExceptionCode,        uint32_t, 1
    NASMX_RESERVE ExceptionFlags,       uint32_t, 1
    NASMX_RESERVE pExceptionRecord,     ptrdiff_t, 1
    NASMX_RESERVE ExceptionAddress,     ptrdiff_t, 1
    NASMX_RESERVE NumberParameters,     uint32_t, 1
    NASMX_RESERVE ExceptionInformation, size_t, EXCEPTION_MAXIMUM_PARAMETERS
NASMX_ENDSTRUC

NASMX_STRUC EXCEPTION_DEBUG_INFO
	NASMX_STRUC pExceptionRecord, EXCEPTION_RECORD
		NASMX_RESERVE ExceptionCode,        uint32_t, 1
		NASMX_RESERVE ExceptionFlags,       uint32_t, 1
		NASMX_RESERVE pExceptionRecord,     ptrdiff_t, 1
		NASMX_RESERVE ExceptionAddress,     ptrdiff_t, 1
		NASMX_RESERVE NumberParameters,     uint32_t, 1
		NASMX_RESERVE ExceptionInformation, size_t, EXCEPTION_MAXIMUM_PARAMETERS
	NASMX_ENDSTRUC
    NASMX_RESERVE dwFirstChance, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CREATE_THREAD_DEBUG_INFO
    NASMX_RESERVE hThread,           ptrdiff_t, 1
    NASMX_RESERVE lpThreadLocalBase, ptrdiff_t, 1
    NASMX_RESERVE lpStartAddress,    ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CREATE_PROCESS_DEBUG_INFO
    NASMX_RESERVE hFile,             ptrdiff_t, 1
    NASMX_RESERVE hProcess,          ptrdiff_t, 1
    NASMX_RESERVE hThread,           ptrdiff_t, 1
    NASMX_RESERVE lpBaseOfImage,     ptrdiff_t, 1
    NASMX_RESERVE dwDebugInfoFileOffset, uint32_t, 1
    NASMX_RESERVE nDebugInfoSize,    uint32_t, 1
    NASMX_RESERVE lpThreadLocalBase, ptrdiff_t, 1
    NASMX_RESERVE lpStartAddress,    ptrdiff_t, 1
    NASMX_RESERVE lpImageName,       ptrdiff_t, 1
    NASMX_RESERVE fUnicode,          uint16_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EXIT_THREAD_DEBUG_INFO
    NASMX_RESERVE dwExitCode, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EXIT_PROCESS_DEBUG_INFO
    NASMX_RESERVE dwExitCode, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LOAD_DLL_DEBUG_INFO
    NASMX_RESERVE hFile,                 ptrdiff_t, 1
    NASMX_RESERVE lpBaseOfDll,           ptrdiff_t, 1
    NASMX_RESERVE dwDebugInfoFileOffset, uint32_t, 1
    NASMX_RESERVE nDebugInfoSize,        uint32_t, 1
    NASMX_RESERVE lpImageName,           ptrdiff_t, 1
    NASMX_RESERVE fUnicode,              uint16_t, 1
NASMX_ENDSTRUC

NASMX_STRUC UNLOAD_DLL_DEBUG_INFO
    NASMX_RESERVE lpBaseOfDll, ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC OUTPUT_DEBUG_STRING_INFO
    NASMX_RESERVE lpDebugStringData,   ptrdiff_t, 1
    NASMX_RESERVE fUnicode,            uint16_t, 1
    NASMX_RESERVE nDebugStringLength,  uint16_t, 1
NASMX_ENDSTRUC

NASMX_STRUC RIP_INFO
    NASMX_RESERVE dwError, uint32_t, 1
    NASMX_RESERVE dwType,  uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC OFSTRUCT
    NASMX_RESERVE cBytes,     int8_t, 1
    NASMX_RESERVE fFixedDisk, int8_t, 1
    NASMX_RESERVE nErrCode,   uint16_t, 1
    NASMX_RESERVE Reserved1,  uint16_t, 1
    NASMX_RESERVE Reserved2,  uint16_t, 1
    NASMX_RESERVE szPathName, char_t, OFS_MAXPATHNAME
NASMX_ENDSTRUC

NASMX_STRUC WNDCLASSEX
    NASMX_RESERVE cbSize,        uint32_t, 1
    NASMX_RESERVE style,         uint32_t, 1
    NASMX_RESERVE lpfnWndProc,   ptrdiff_t, 1
    NASMX_RESERVE cbClsExtra,    int32_t, 1
    NASMX_RESERVE cbWndExtra,    int32_t, 1
    NASMX_RESERVE hInstance,     ptrdiff_t, 1
    NASMX_RESERVE hIcon,         ptrdiff_t, 1
    NASMX_RESERVE hCursor,       ptrdiff_t, 1
    NASMX_RESERVE hbrBackground, ptrdiff_t, 1
    NASMX_RESERVE lpszMenuName,  ptrdiff_t, 1
    NASMX_RESERVE lpszClassName, ptrdiff_t, 1
    NASMX_RESERVE hIconSm,       ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC WNDCLASS
    NASMX_RESERVE style,         uint32_t, 1
    NASMX_RESERVE lpfnWndProc,   ptrdiff_t, 1
    NASMX_RESERVE cbClsExtra,    int32_t, 1
    NASMX_RESERVE cbWndExtra,    int32_t, 1
    NASMX_RESERVE hInstance,     ptrdiff_t, 1
    NASMX_RESERVE hIcon,         ptrdiff_t, 1
    NASMX_RESERVE hCursor,       ptrdiff_t, 1
    NASMX_RESERVE hbrBackground, ptrdiff_t, 1
    NASMX_RESERVE lpszMenuName,  ptrdiff_t, 1
    NASMX_RESERVE lpszClassName, ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CRITICAL_SECTION
    NASMX_RESERVE DebugInfo,      ptrdiff_t, 1
    NASMX_RESERVE LockCount,      int32_t, 1
    NASMX_RESERVE RecursionCount, int32_t, 1
    NASMX_RESERVE OwningThread,   ptrdiff_t, 1
    NASMX_RESERVE LockSemaphore,  ptrdiff_t, 1
    NASMX_RESERVE SpinCount,      size_t, 1
NASMX_ENDSTRUC

NASMX_STRUC BY_HANDLE_FILE_INFORMATION
    NASMX_RESERVE dwFileAttributes, uint32_t, 1
	NASMX_STRUC ftCreationTime, FILETIME
		NASMX_RESERVE dwLowDateTime,  uint32_t, 1
		NASMX_RESERVE dwHighDateTime, uint32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ftLastAccessTime, FILETIME
		NASMX_RESERVE dwLowDateTime,  uint32_t, 1
		NASMX_RESERVE dwHighDateTime, uint32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ftLastWriteTime, FILETIME
		NASMX_RESERVE dwLowDateTime,  uint32_t, 1
		NASMX_RESERVE dwHighDateTime, uint32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE dwVolumeSerialNumber, uint32_t, 1
    NASMX_RESERVE nFileSizeHigh,  uint32_t, 1
    NASMX_RESERVE nFileSizeLow,   uint32_t, 1
    NASMX_RESERVE nNumberOfLinks, uint32_t, 1
    NASMX_RESERVE nFileIndexHigh, uint32_t, 1
    NASMX_RESERVE nFileIndexLow,  uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MEMORY_BASIC_INFORMATION
    NASMX_RESERVE BaseAddress,       ptrdiff_t, 1
    NASMX_RESERVE AllocationBase,    ptrdiff_t, 1
    NASMX_RESERVE AllocationProtect, uint32_t, 1
    NASMX_RESERVE RegionSize,        size_t, 1
    NASMX_RESERVE State,             uint32_t, 1
    NASMX_RESERVE Protect,           uint32_t, 1
    NASMX_RESERVE lType,             uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EVENTLOGRECORD
    NASMX_RESERVE Length,         uint32_t, 1
    NASMX_RESERVE Reserved,       uint32_t, 1
    NASMX_RESERVE RecordNumber,   uint32_t, 1
    NASMX_RESERVE TimeGenerated,  uint32_t, 1
    NASMX_RESERVE TimeWritten,    uint32_t, 1
    NASMX_RESERVE EventID,        uint32_t, 1
    NASMX_RESERVE EventType,      uint16_t, 1
    NASMX_RESERVE NumStrings,     uint16_t, 1
    NASMX_RESERVE EventCategory,  uint16_t, 1
    NASMX_RESERVE ReservedFlags,  uint16_t, 1
    NASMX_RESERVE ClosingRecordNumber, uint32_t, 1
    NASMX_RESERVE StringOffset,   uint32_t, 1
    NASMX_RESERVE UserSidiLength, uint32_t, 1
    NASMX_RESERVE UserSidOffset,  uint32_t, 1
    NASMX_RESERVE DataLength,     uint32_t, 1
    NASMX_RESERVE DataOffset,     uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TOKEN_GROUPS
    NASMX_RESERVE GroupCount,     int32_t, 1
    NASMX_STRUC Groups, SID_AND_ATTRIBUTES
        NASMX_RESERVE Sid,        ptrdiff_t, 1
        NASMX_RESERVE Attributes, uint32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC TOKEN_PRIVILEGES
    NASMX_RESERVE PrivilegeCount,   uint32_t, 1
    NASMX_STRUC Privileges, LUID_AND_ATTRIBUTES
        NASMX_STRUC Luid, LUID
            NASMX_RESERVE LowPart,  uint32_t, 1
            NASMX_RESERVE HighPart, int32_t, 1
        NASMX_ENDSTRUC
        NASMX_RESERVE Attributes,   uint32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC


NASMX_STRUC FLOATING_SAVE_AREA
    NASMX_RESERVE ControlWord,   uint32_t, 1
    NASMX_RESERVE StatusWord,    uint32_t, 1
    NASMX_RESERVE TagWord,       uint32_t, 1
    NASMX_RESERVE ErrorOffset,   uint32_t, 1
    NASMX_RESERVE ErrorSelector, uint32_t, 1
    NASMX_RESERVE DataOffset,    uint32_t, 1
    NASMX_RESERVE DataSelector,  uint32_t, 1
    NASMX_RESERVE RegisterArea,  uint8_t, SIZE_OF_80387_REGISTERS
    NASMX_RESERVE Cr0NpxState,   uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CONTEXT
    NASMX_RESERVE ContextFlags, int32_t, 1
    NASMX_RESERVE Dr0,      int32_t, 1
    NASMX_RESERVE Dr1,      int32_t, 1
    NASMX_RESERVE Dr2,      int32_t, 1
    NASMX_RESERVE Dr3,      int32_t, 1
    NASMX_RESERVE Dr6,      int32_t, 1
    NASMX_RESERVE Dr7,      int32_t, 1
    NASMX_STRUC FloatSave, FLOATING_SAVE_AREA
        NASMX_RESERVE ControlWord,   uint32_t, 1
        NASMX_RESERVE StatusWord,    uint32_t, 1
        NASMX_RESERVE TagWord,       uint32_t, 1
        NASMX_RESERVE ErrorOffset,   uint32_t, 1
        NASMX_RESERVE ErrorSelector, uint32_t, 1
        NASMX_RESERVE DataOffset,    uint32_t, 1
        NASMX_RESERVE DataSelector,  uint32_t, 1
        NASMX_RESERVE RegisterArea,  uint8_t, SIZE_OF_80387_REGISTERS
        NASMX_RESERVE Cr0NpxState,   uint32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE SegGs,     int32_t, 1
    NASMX_RESERVE SegFs,     int32_t, 1
    NASMX_RESERVE SegEs,     int32_t, 1
    NASMX_RESERVE SegDs,     int32_t, 1
    NASMX_RESERVE Edi,       int32_t, 1
    NASMX_RESERVE Esi,       int32_t, 1
    NASMX_RESERVE Ebx,       int32_t, 1
    NASMX_RESERVE Edx,       int32_t, 1
    NASMX_RESERVE Ecx,       int32_t, 1
    NASMX_RESERVE Eax,       int32_t, 1
    NASMX_RESERVE Ebp,       int32_t, 1
    NASMX_RESERVE Eip,       int32_t, 1
    NASMX_RESERVE SegCs,     int32_t, 1
    NASMX_RESERVE EFlags,    int32_t, 1
    NASMX_RESERVE Esp,       int32_t, 1
    NASMX_RESERVE SegSs,     int32_t, 1
    NASMX_RESERVE ExtendedRegisters, BYTE, MAXIMUM_SUPPORTED_EXTENSION
NASMX_ENDSTRUC

NASMX_STRUC EXCEPTION_POINTERS
    NASMX_RESERVE ExceptionRecord, ptrdiff_t, 1
    NASMX_RESERVE ContextRecord,   ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LDT_BYTES
    NASMX_RESERVE BaseMid, int8_t, 1
    NASMX_RESERVE Flags1,  int8_t, 1
    NASMX_RESERVE Flags2,  int8_t, 1
    NASMX_RESERVE BaseHi,  int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LDT_ENTRY
    NASMX_RESERVE LimitLow, short_t, 1
    NASMX_RESERVE BaseLow,  short_t, 1
    NASMX_RESERVE HiWord,   int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TIME_ZONE_INFORMATION
    NASMX_RESERVE Bias,         int32_t, 1
    NASMX_RESERVE StandardName, wchar_t, 32
    NASMX_STRUC StandardDate, SYSTEMTIME
        NASMX_RESERVE wYear,         ushort_t, 1
        NASMX_RESERVE wMonth,        ushort_t, 1
        NASMX_RESERVE wDayOfWeek,    ushort_t, 1
        NASMX_RESERVE wDay,          ushort_t, 1
        NASMX_RESERVE wHour,         ushort_t, 1
        NASMX_RESERVE wMinute,       ushort_t, 1
        NASMX_RESERVE wSecond,       ushort_t, 1
        NASMX_RESERVE wMilliseconds, ushort_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE StandardBias, int32_t, 1
    NASMX_RESERVE DaylightName, wchar_t, 32
    NASMX_STRUC DaylightDate, SYSTEMTIME
        NASMX_RESERVE wYear,         ushort_t, 1
        NASMX_RESERVE wMonth,        ushort_t, 1
        NASMX_RESERVE wDayOfWeek,    ushort_t, 1
        NASMX_RESERVE wDay,          ushort_t, 1
        NASMX_RESERVE wHour,         ushort_t, 1
        NASMX_RESERVE wMinute,       ushort_t, 1
        NASMX_RESERVE wSecond,       ushort_t, 1
        NASMX_RESERVE wMilliseconds, ushort_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE DaylightBias, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC WIN32_STREAM_ID
    NASMX_RESERVE dwStreamID,         uint32_t, 1
    NASMX_RESERVE dwStreamAttributes, uint32_t, 1
    NASMX_RESERVE dwStreamSizeLow,    int32_t, 1
    NASMX_RESERVE dwStreamSizeHigh,   int32_t, 1
    NASMX_RESERVE dwStreamNameSize,   int32_t, 1
    NASMX_RESERVE cStreamName,        wchar_t, 1
NASMX_ENDSTRUC

NASMX_STRUC STARTUPINFO
    NASMX_RESERVE cb,              uint32_t, 1
    NASMX_RESERVE lpReserved,      ptrdiff_t, 1
    NASMX_RESERVE lpDesktop,       ptrdiff_t, 1
    NASMX_RESERVE lpTitle,         ptrdiff_t, 1
    NASMX_RESERVE dwX,             uint32_t, 1
    NASMX_RESERVE dwY,             uint32_t, 1
    NASMX_RESERVE dwXSize,         uint32_t, 1
    NASMX_RESERVE dwYSize,         uint32_t, 1
    NASMX_RESERVE dwXCountChars,   uint32_t, 1
    NASMX_RESERVE dwYCountChars,   uint32_t, 1
    NASMX_RESERVE dwFillAttribute, uint32_t, 1
    NASMX_RESERVE dwFlags,         uint32_t, 1
    NASMX_RESERVE wShowWindow,     uint16_t, 1
    NASMX_RESERVE cbReserved2,     uint16_t, 1
    NASMX_RESERVE lpReserved2,     ptrdiff_t, 1
    NASMX_RESERVE hStdInput,       ptrdiff_t, 1
    NASMX_RESERVE hStdOutput,      ptrdiff_t, 1
    NASMX_RESERVE hStdError,       ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC WIN32_FIND_DATA
    NASMX_RESERVE dwFileAttributes,   uint32_t, 1
	NASMX_STRUC ftCreationTime, FILETIME
		NASMX_RESERVE dwLowDateTime,  uint32_t, 1
		NASMX_RESERVE dwHighDateTime, uint32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ftLastAccessTime, FILETIME
		NASMX_RESERVE dwLowDateTime,  uint32_t, 1
		NASMX_RESERVE dwHighDateTime, uint32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ftLastWriteTime, FILETIME
		NASMX_RESERVE dwLowDateTime,  uint32_t, 1
		NASMX_RESERVE dwHighDateTime, uint32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE nFileSizeHigh,      uint32_t, 1
    NASMX_RESERVE nFileSizeLow,       uint32_t, 1
    NASMX_RESERVE dwReserved0,        uint32_t, 1
    NASMX_RESERVE dwReserved1,        uint32_t, 1
    NASMX_RESERVE cFileName,          NASMX_TCHAR, MAX_PATH
    NASMX_RESERVE cAlternateFileName, NASMX_TCHAR, 14 
NASMX_ENDSTRUC

NASMX_STRUC COORD
    NASMX_RESERVE x, short_t, 1
    NASMX_RESERVE y, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SMALL_RECT
    NASMX_RESERVE Left,   short_t, 1
    NASMX_RESERVE Top,    short_t, 1
    NASMX_RESERVE Right,  short_t, 1
    NASMX_RESERVE Bottom, short_t, 1
NASMX_ENDSTRUC

;// TODO: verify following structs/varnames and update type...

NASMX_STRUC KEY_EVENT_RECORD
    NASMX_RESERVE bKeyDown, int32_t, 1
    NASMX_RESERVE wRepeatCount, short_t, 1
    NASMX_RESERVE wVirtualKeyCode, short_t, 1
    NASMX_RESERVE wVirtualScanCode, short_t, 1
    NASMX_RESERVE uChar, short_t, 1
    NASMX_RESERVE dwControlKeyState, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MOUSE_EVENT_RECORD
    NASMX_RESERVE dwMousePosition, int32_t, 1
    NASMX_RESERVE dwButtonState, int32_t, 1
    NASMX_RESERVE dwControlKeyState, int32_t, 1
    NASMX_RESERVE dwEventFlags, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC WINDOW_BUFFER_SIZE_RECORD
    NASMX_RESERVE dwSize, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MENU_EVENT_RECORD
    NASMX_RESERVE dwCommandId, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC FOCUS_EVENT_RECORD
    NASMX_RESERVE bSetFocus, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CHAR_INFO
    NASMX_RESERVE Char, short_t, 1
    NASMX_RESERVE Attributes, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CONSOLE_SCREEN_BUFFER_INFO
    NASMX_STRUC dwSize, COORD
        NASMX_RESERVE x, short_t, 1
        NASMX_RESERVE y, short_t, 1
    NASMX_ENDSTRUC
    NASMX_STRUC dwCursorPosition, COORD
        NASMX_RESERVE x, short_t, 1
        NASMX_RESERVE y, short_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE wAttributes, short_t, 1
    NASMX_STRUC srWindow, SMALL_RECT
        NASMX_RESERVE Left,   short_t, 1
        NASMX_RESERVE Top,    short_t, 1
        NASMX_RESERVE Right,  short_t, 1
        NASMX_RESERVE Bottom, short_t, 1
    NASMX_ENDSTRUC
    NASMX_STRUC dwMaximumWindowSize, COORD
        NASMX_RESERVE x, short_t, 1
        NASMX_RESERVE y, short_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC CONSOLE_CURSOR_INFO
    NASMX_RESERVE dwSize, int32_t, 1
    NASMX_RESERVE bVisible, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC XFORM
    NASMX_RESERVE eM11, int32_t,1
    NASMX_RESERVE eM12, int32_t, 1
    NASMX_RESERVE eM21, int32_t, 1
    NASMX_RESERVE eM22, int32_t, 1
    NASMX_RESERVE eDx,  int32_t, 1
    NASMX_RESERVE eDy,  int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC BITMAP
    NASMX_RESERVE bmType,       int32_t, 1
    NASMX_RESERVE bmWidth,      int32_t, 1
    NASMX_RESERVE bmHeight,     int32_t, 1
    NASMX_RESERVE bmWidthBytes, int32_t, 1
    NASMX_RESERVE bmPlanes,     short_t, 1
    NASMX_RESERVE bmBitsPixel,  short_t, 1
    NASMX_RESERVE bmBits,       ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC RGBTRIPLE
    NASMX_RESERVE rgbtBlue, int8_t, 1
    NASMX_RESERVE rgbtGreen, int8_t, 1
    NASMX_RESERVE rgbtRed, int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC RGBQUAD
    NASMX_RESERVE rgbBlue, int8_t, 1
    NASMX_RESERVE rgbGreen, int8_t, 1
    NASMX_RESERVE rgbRed, int8_t, 1
    NASMX_RESERVE rgbReserved, int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC BITMAPCOREHEADER
    NASMX_RESERVE bcSize,     int32_t, 1
    NASMX_RESERVE bcWidth,    short_t, 1
    NASMX_RESERVE bcHeight,   short_t, 1
    NASMX_RESERVE bcPlanes,   short_t, 1
    NASMX_RESERVE bcBitCount, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC BITMAPINFOHEADER
    NASMX_RESERVE biSize,          int32_t, 1
    NASMX_RESERVE biWidth,         int32_t, 1
    NASMX_RESERVE biHeight,        int32_t, 1
    NASMX_RESERVE biPlanes,        short_t, 1
    NASMX_RESERVE biBitCount,      short_t, 1
    NASMX_RESERVE biCompression,   int32_t, 1
    NASMX_RESERVE biSizeImage,     int32_t, 1
    NASMX_RESERVE biXPelsPerMeter, int32_t, 1
    NASMX_RESERVE biYPelsPerMeter, int32_t, 1
    NASMX_RESERVE biClrUsed,       int32_t, 1
    NASMX_RESERVE biClrImportant,  int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC BITMAPINFO
    NASMX_STRUC bmiHeader, BITMAPINFOHEADER
        NASMX_RESERVE biSize,          int32_t, 1
        NASMX_RESERVE biWidth,         int32_t, 1
        NASMX_RESERVE biHeight,        int32_t, 1
        NASMX_RESERVE biPlanes,        short_t, 1
        NASMX_RESERVE biBitCount,      short_t, 1
        NASMX_RESERVE biCompression,   int32_t, 1
        NASMX_RESERVE biSizeImage,     int32_t, 1
        NASMX_RESERVE biXPelsPerMeter, int32_t, 1
        NASMX_RESERVE biYPelsPerMeter, int32_t, 1
        NASMX_RESERVE biClrUsed,       int32_t, 1
        NASMX_RESERVE biClrImportant,  int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE bmiColors, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC BITMAPCOREINFO
    NASMX_STRUC bmciHeader, BITMAPCOREHEADER
        NASMX_RESERVE bcSize,     int32_t, 1
        NASMX_RESERVE bcWidth,    short_t, 1
        NASMX_RESERVE bcHeight,   short_t, 1
        NASMX_RESERVE bcPlanes,   short_t, 1
        NASMX_RESERVE bcBitCount, short_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE bmciColors, int32_t, 1
NASMX_ENDSTRUC

NASMX_PRAGMA PACK, PUSH, 2
NASMX_STRUC BITMAPFILEHEADER
    NASMX_RESERVE bfType,      short_t, 1
    NASMX_RESERVE bfSize,      int32_t, 1
    NASMX_RESERVE bfReserved1, short_t, 1
    NASMX_RESERVE bfReserved2, short_t, 1
    NASMX_RESERVE bfOffBits,   int32_t, 1
NASMX_ENDSTRUC
NASMX_PRAGMA PACK, POP

NASMX_STRUC HANDLETABLE
    NASMX_RESERVE objectHandle, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC METARECORD
    NASMX_RESERVE rdSize, int32_t, 1
    NASMX_RESERVE rdFunction, short_t, 1
    NASMX_RESERVE rdParm1, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC METAFILEPICT
    NASMX_RESERVE imm, int32_t, 1
    NASMX_RESERVE xExt, int32_t, 1
    NASMX_RESERVE yExt, int32_t, 1
    NASMX_RESERVE hMF, int32_t, 1
NASMX_ENDSTRUC

NASMX_PRAGMA PACK, PUSH, 2
NASMX_STRUC METAHEADER
    NASMX_RESERVE mtType,         short_t, 1
    NASMX_RESERVE mtHeaderSize,   short_t, 1
    NASMX_RESERVE mtVersion,      short_t, 1
    NASMX_RESERVE mtSize,         int32_t, 1
    NASMX_RESERVE mtNoObjects,    short_t, 1
    NASMX_RESERVE mtMaxRecord,    int32_t, 1
    NASMX_RESERVE mtNoParameters, short_t, 1
NASMX_ENDSTRUC
NASMX_PRAGMA PACK, POP

NASMX_STRUC ENHMETARECORD
    NASMX_RESERVE iType, int32_t, 1
    NASMX_RESERVE nSize, int32_t, 1
    NASMX_RESERVE dParm1, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ENHMETAHEADER
    NASMX_RESERVE iType, int32_t, 1
    NASMX_RESERVE nSize, int32_t, 1
    NASMX_STRUC rclBounds, RECT
        NASMX_RESERVE left,   int32_t, 1
        NASMX_RESERVE top,    int32_t, 1
        NASMX_RESERVE right,  int32_t, 1
        NASMX_RESERVE bottom, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_STRUC rclFrame, RECT
        NASMX_RESERVE left,   int32_t, 1
        NASMX_RESERVE top,    int32_t, 1
        NASMX_RESERVE right,  int32_t, 1
        NASMX_RESERVE bottom, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE dSignature,     int32_t, 1
    NASMX_RESERVE nVersion,       int32_t, 1
    NASMX_RESERVE nBytes,         int32_t, 1
    NASMX_RESERVE nRecords,       int32_t, 1
    NASMX_RESERVE nHandles,       short_t, 1
    NASMX_RESERVE sReserved,      short_t, 1
    NASMX_RESERVE nDescription,   int32_t, 1
    NASMX_RESERVE offDescription, int32_t, 1
    NASMX_RESERVE nPalEntries,    int32_t, 1
    NASMX_RESERVE szlDevice,      int32_t, 1
    NASMX_RESERVE szlMillimeters, int32_t, 1
    NASMX_RESERVE cbPixelFormat,  int32_t, 1
    NASMX_RESERVE offPixelFormat, int32_t, 1
    NASMX_RESERVE bOpenGL,        int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TEXTMETRIC
    NASMX_RESERVE tmHeight,           int32_t, 1
    NASMX_RESERVE tmAscent,           int32_t, 1
    NASMX_RESERVE tmDescent,          int32_t, 1
    NASMX_RESERVE tmInternalLeading,  int32_t, 1
    NASMX_RESERVE tmExternalLeading,  int32_t, 1
    NASMX_RESERVE tmAveCharWidth,     int32_t, 1
    NASMX_RESERVE tmMaxCharWidth,     int32_t, 1
    NASMX_RESERVE tmWeight,           int32_t, 1
    NASMX_RESERVE tmOverhang,         int32_t, 1
    NASMX_RESERVE tmDigitizedAspectX, int32_t, 1
    NASMX_RESERVE tmDigitizedAspectY, int32_t, 1
    NASMX_RESERVE tmFirstChar,        NASMX_TCHAR, 1
    NASMX_RESERVE tmLastChar,         NASMX_TCHAR, 1
    NASMX_RESERVE tmDefaultChar,      NASMX_TCHAR, 1
    NASMX_RESERVE tmBreakChar,        NASMX_TCHAR, 1
    NASMX_RESERVE tmItalic,           int8_t, 1
    NASMX_RESERVE tmUnderlined,       int8_t, 1
    NASMX_RESERVE tmStruckOut,        int8_t, 1
    NASMX_RESERVE tmPitchAndFamily,   int8_t, 1
    NASMX_RESERVE tmCharSet,          int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC NEWTEXTMETRIC
    NASMX_RESERVE tmHeight,           int32_t, 1
    NASMX_RESERVE tmAscent,           int32_t, 1
    NASMX_RESERVE tmDescent,          int32_t, 1
    NASMX_RESERVE tmInternalLeading,  int32_t, 1
    NASMX_RESERVE tmExternalLeading,  int32_t, 1
    NASMX_RESERVE tmAveCharWidth,     int32_t, 1
    NASMX_RESERVE tmMaxCharWidth,     int32_t, 1
    NASMX_RESERVE tmWeight,           int32_t, 1
    NASMX_RESERVE tmOverhang,         int32_t, 1
    NASMX_RESERVE tmDigitizedAspectX, int32_t, 1
    NASMX_RESERVE tmDigitizedAspectY, int32_t, 1
    NASMX_RESERVE tmFirstChar,        NASMX_TCHAR, 1
    NASMX_RESERVE tmLastChar,         NASMX_TCHAR, 1
    NASMX_RESERVE tmDefaultChar,      NASMX_TCHAR, 1
    NASMX_RESERVE tmBreakChar,        int8_t, 1
    NASMX_RESERVE tmItalic,           int8_t, 1
    NASMX_RESERVE tmUnderlined,       int8_t, 1
    NASMX_RESERVE tmStruckOut,        int8_t, 1
    NASMX_RESERVE tmPitchAndFamily,   int8_t, 1
    NASMX_RESERVE tmCharSet,          int8_t, 1
    NASMX_RESERVE ntmFlags,           int32_t, 1
    NASMX_RESERVE ntmSizeEM,          int32_t, 1
    NASMX_RESERVE ntmCellHeight,      int32_t, 1
    NASMX_RESERVE ntmAveWidth,        int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PELARRAY
    NASMX_RESERVE paXCount, int32_t, 1
    NASMX_RESERVE paYCount, int32_t, 1
    NASMX_RESERVE paXExt, int32_t, 1
    NASMX_RESERVE paYExt, int32_t, 1
    NASMX_RESERVE paRGBs, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LOGBRUSH
    NASMX_RESERVE lbStyle, int32_t, 1
    NASMX_RESERVE lbColor, int32_t, 1
    NASMX_RESERVE lbHatch, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LOGPEN
    NASMX_RESERVE lopnStyle, int32_t, 1
    NASMX_STRUC lopnWidth, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE lopnColor, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EXTLOGPEN
    NASMX_RESERVE elpPenStyle,   int32_t, 1
    NASMX_RESERVE elpWidth,      int32_t, 1
    NASMX_RESERVE elpBrushStyle, int32_t, 1
    NASMX_RESERVE elpColor,      int32_t, 1
    NASMX_RESERVE elpHatch,      ptrdiff_t, 1
    NASMX_RESERVE elpNumEntries, int32_t, 1
    NASMX_RESERVE elpStyleEntry, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PALETTEENTRY
    NASMX_RESERVE peRed,   int8_t, 1
    NASMX_RESERVE peGreen, int8_t, 1
    NASMX_RESERVE peBlue,  int8_t, 1
    NASMX_RESERVE peFlags, int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LOGPALETTE
    NASMX_RESERVE palVersion, short_t, 1
    NASMX_RESERVE palNumEntries, short_t, 1
    NASMX_STRUC palPalEntry, PALETTEENTRY
        NASMX_RESERVE peRed,   int8_t, 1
        NASMX_RESERVE peGreen, int8_t, 1
        NASMX_RESERVE peBlue,  int8_t, 1
        NASMX_RESERVE peFlags, int8_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC LOGFONT
    NASMX_RESERVE lfHeight,         int32_t, 1
    NASMX_RESERVE lfWidth,          int32_t, 1
    NASMX_RESERVE lfEscapement,     int32_t, 1
    NASMX_RESERVE lfOrientation,    int32_t, 1
    NASMX_RESERVE lfWeight,         int32_t, 1
    NASMX_RESERVE lfItalic,         int8_t, 1
    NASMX_RESERVE lfUnderline,      int8_t, 1
    NASMX_RESERVE lfStrikeOut,      int8_t, 1
    NASMX_RESERVE lfCharSet,        int8_t, 1
    NASMX_RESERVE lfOutPrecision,   int8_t, 1
    NASMX_RESERVE lfClipPrecision,  int8_t, 1
    NASMX_RESERVE lfQuality,        int8_t, 1
    NASMX_RESERVE lfPitchAndFamily, int8_t, 1
    NASMX_RESERVE lfFaceName,       NASMX_TCHAR, LF_FACESIZE
NASMX_ENDSTRUC

NASMX_STRUC NONCLIENTMETRICS
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE iBorderWidth, int32_t, 1
    NASMX_RESERVE iScrollWidth, int32_t, 1
    NASMX_RESERVE iScrollHeight, int32_t, 1
    NASMX_RESERVE iCaptionWidth, int32_t, 1
    NASMX_RESERVE iCaptionHeight, int32_t, 1
    NASMX_RESERVE lfCaptionFont, int32_t, 1
    NASMX_RESERVE iSMCaptionWidth, int32_t, 1
    NASMX_RESERVE iSMCaptionHeight, int32_t, 1
    NASMX_RESERVE lfSMCaptionFont, int32_t, 1
    NASMX_RESERVE iMenuWidth, int32_t, 1
    NASMX_RESERVE iMenuHeight, int32_t, 1
    NASMX_RESERVE lfMenuFont, int32_t, 1
    NASMX_RESERVE lfStatusFont, int32_t, 1
    NASMX_RESERVE lfMessageFont, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ENUMLOGFONT
    NASMX_STRUC elfLogFont, LOGFONT
        NASMX_RESERVE lfHeight,         int32_t, 1
        NASMX_RESERVE lfWidth,          int32_t, 1
        NASMX_RESERVE lfEscapement,     int32_t, 1
        NASMX_RESERVE lfOrientation,    int32_t, 1
        NASMX_RESERVE lfWeight,         int32_t, 1
        NASMX_RESERVE lfItalic,         int8_t, 1
        NASMX_RESERVE lfUnderline,      int8_t, 1
        NASMX_RESERVE lfStrikeOut,      int8_t, 1
        NASMX_RESERVE lfCharSet,        int8_t, 1
        NASMX_RESERVE lfOutPrecision,   int8_t, 1
        NASMX_RESERVE lfClipPrecision,  int8_t, 1
        NASMX_RESERVE lfQuality,        int8_t, 1
        NASMX_RESERVE lfPitchAndFamily, int8_t, 1
        NASMX_RESERVE lfFaceName,       NASMX_TCHAR, LF_FACESIZE
    NASMX_ENDSTRUC
    NASMX_RESERVE elfFullName, NASMX_TCHAR, LF_FULLFACESIZE
    NASMX_RESERVE elfStyle, NASMX_TCHAR, LF_FACESIZE
NASMX_ENDSTRUC

NASMX_STRUC PANOSE
    NASMX_RESERVE bFamilyType,      int8_t, 1
    NASMX_RESERVE bSerifStyle,      int8_t, 1
    NASMX_RESERVE bWeight,          int8_t, 1
    NASMX_RESERVE bProportion,      int8_t, 1
    NASMX_RESERVE bContrast,        int8_t, 1
    NASMX_RESERVE bStrokeVariation, int8_t, 1
    NASMX_RESERVE bArmStyle,        int8_t, 1
    NASMX_RESERVE bLetterform,      int8_t, 1
    NASMX_RESERVE bMidline,         int8_t, 1
    NASMX_RESERVE bXHeight,         int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EXTLOGFONT
    NASMX_STRUC elfLogFont, LOGFONT
        NASMX_RESERVE lfHeight,         int32_t, 1
        NASMX_RESERVE lfWidth,          int32_t, 1
        NASMX_RESERVE lfEscapement,     int32_t, 1
        NASMX_RESERVE lfOrientation,    int32_t, 1
        NASMX_RESERVE lfWeight,         int32_t, 1
        NASMX_RESERVE lfItalic,         int8_t, 1
        NASMX_RESERVE lfUnderline,      int8_t, 1
        NASMX_RESERVE lfStrikeOut,      int8_t, 1
        NASMX_RESERVE lfCharSet,        int8_t, 1
        NASMX_RESERVE lfOutPrecision,   int8_t, 1
        NASMX_RESERVE lfClipPrecision,  int8_t, 1
        NASMX_RESERVE lfQuality,        int8_t, 1
        NASMX_RESERVE lfPitchAndFamily, int8_t, 1
        NASMX_RESERVE lfFaceName,       NASMX_TCHAR, LF_FACESIZE
    NASMX_ENDSTRUC
    NASMX_RESERVE elfFullName,  NASMX_TCHAR, LF_FULLFACESIZE
    NASMX_RESERVE elfStyle,     NASMX_TCHAR, LF_FACESIZE
    NASMX_RESERVE elfVersion,   int32_t, 1
    NASMX_RESERVE elfStyleSize, int32_t, 1
    NASMX_RESERVE elfMatch,     int32_t, 1
    NASMX_RESERVE elfReserved,  int32_t, 1
    NASMX_RESERVE elfVendorId,  int8_t,  ELF_VENDOR_SIZE
    NASMX_RESERVE elfCulture,   int32_t, 1
    NASMX_STRUC elfPanose, PANOSE
        NASMX_RESERVE bFamilyType,      int8_t, 1
        NASMX_RESERVE bSerifStyle,      int8_t, 1
        NASMX_RESERVE bWeight,          int8_t, 1
        NASMX_RESERVE bProportion,      int8_t, 1
        NASMX_RESERVE bContrast,        int8_t, 1
        NASMX_RESERVE bStrokeVariation, int8_t, 1
        NASMX_RESERVE bArmStyle,        int8_t, 1
        NASMX_RESERVE bLetterform,      int8_t, 1
        NASMX_RESERVE bMidline,         int8_t, 1
        NASMX_RESERVE bXHeight,         int8_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC DEVMODE
    NASMX_RESERVE dmDeviceName,    NASMX_TCHAR, CCHDEVICENAME
    NASMX_RESERVE dmSpecVersion,   short_t, 1
    NASMX_RESERVE dmDriverVersion, short_t, 1
    NASMX_RESERVE dmSize,          short_t, 1
    NASMX_RESERVE dmDriverExtra,   short_t, 1
    NASMX_RESERVE dmFields,        int32_t, 1
    NASMX_UNION u
        NASMX_STRUC printer
            NASMX_RESERVE dmOrientation,   short_t, 1
            NASMX_RESERVE dmPaperSize,     short_t, 1
            NASMX_RESERVE dmPaperiLength,  short_t, 1
            NASMX_RESERVE dmPaperWidth,    short_t, 1
            NASMX_RESERVE dmScale,         short_t, 1
            NASMX_RESERVE dmCopies,        short_t, 1
            NASMX_RESERVE dmDefaultSource, short_t, 1
            NASMX_RESERVE dmPrintQuality,  short_t, 1
	NASMX_ENDSTRUC
        NASMX_STRUC display
            NASMX_STRUC dmPosition, POINT
                NASMX_RESERVE x, int32_t, 1
                NASMX_RESERVE y, int32_t, 1
	    NASMX_ENDSTRUC
            NASMX_RESERVE dmDisplayOrientation,  int32_t, 1
            NASMX_RESERVE dmDisplayFixedOutput,  int32_t, 1
	NASMX_ENDSTRUC
    NASMX_ENDUNION
    NASMX_RESERVE dmColor,         short_t, 1
    NASMX_RESERVE dmDuplex,        short_t, 1
    NASMX_RESERVE dmYResolution,   short_t, 1
    NASMX_RESERVE dmTTOption,      short_t, 1
    NASMX_RESERVE dmCollate,       short_t, 1
    NASMX_RESERVE dmFormName,      int8_t, CCHFORMNAME
    NASMX_RESERVE dmLogPixels,     short_t, 1
    NASMX_RESERVE dmBitsPerPel,    int32_t, 1
    NASMX_RESERVE dmPelsWidth,     int32_t, 1
    NASMX_RESERVE dmPelsHeight,    int32_t, 1
    NASMX_RESERVE dmDisplayFlags,  int32_t, 1
    NASMX_RESERVE dmDisplayFrequency, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC RGNDATAHEADER
    NASMX_RESERVE dwSize, int32_t, 1
    NASMX_RESERVE iType, int32_t, 1
    NASMX_RESERVE nCount, int32_t, 1
    NASMX_RESERVE nRgnSize, int32_t, 1
	NASMX_STRUC rcBound, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC RGNDATA
    NASMX_RESERVE rdh, int32_t, 1
    NASMX_RESERVE Buffer, int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ABC
    NASMX_RESERVE abcA, int32_t, 1
    NASMX_RESERVE abcB, int32_t, 1
    NASMX_RESERVE abcC, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ABCFLOAT
    NASMX_RESERVE abcfA, int32_t, 1
    NASMX_RESERVE abcfB, int32_t, 1
    NASMX_RESERVE abcfC, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC OUTLINETEXTMETRIC
    NASMX_RESERVE otmSize, int32_t, 1
    NASMX_RESERVE otmTextMetrics, int32_t, 1
    NASMX_RESERVE otmFiller, int8_t, 1
    NASMX_RESERVE otmPanoseNumber, int32_t, 1
    NASMX_RESERVE otmfsSelection, int32_t, 1
    NASMX_RESERVE otmfsType, int32_t, 1
    NASMX_RESERVE otmsCharSlopeRise, int32_t, 1
    NASMX_RESERVE otmsCharSlopeRun, int32_t, 1
    NASMX_RESERVE otmItalicAngle, int32_t, 1
    NASMX_RESERVE otmEMSquare, int32_t, 1
    NASMX_RESERVE otmAscent, int32_t, 1
    NASMX_RESERVE otmDescent, int32_t, 1
    NASMX_RESERVE otmLineGap, int32_t, 1
    NASMX_RESERVE otmsCapEmHeight, int32_t, 1
    NASMX_RESERVE otmsXHeight, int32_t, 1
	NASMX_STRUC otmrcFontBox, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC

    NASMX_RESERVE otmMacAscent, int32_t, 1
    NASMX_RESERVE otmMacDescent, int32_t, 1
    NASMX_RESERVE otmMacLineGap, int32_t, 1
    NASMX_RESERVE otmusMinimumPPEM, int32_t, 1
    NASMX_RESERVE otmptSubscriptSize, int32_t, 1
    NASMX_RESERVE otmptSubscriptOffset, int32_t, 1
    NASMX_RESERVE otmptSuperscriptSize, int32_t, 1
    NASMX_RESERVE otmptSuperscriptOffset, int32_t, 1
    NASMX_RESERVE otmsStrikeoutSize, int32_t, 1
    NASMX_RESERVE otmsStrikeoutPosition, int32_t, 1
    NASMX_RESERVE otmsUnderscorePosition, int32_t, 1
    NASMX_RESERVE otmsUnderscoreSize, int32_t, 1
    NASMX_RESERVE otmpFamilyName, int32_t, 1
    NASMX_RESERVE otmpFaceName, int32_t, 1
    NASMX_RESERVE otmpStyleName, int32_t, 1
    NASMX_RESERVE otmpFullName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC POLYTEXT
    NASMX_RESERVE x, int32_t, 1
    NASMX_RESERVE y, int32_t, 1
    NASMX_RESERVE n, int32_t, 1
    NASMX_RESERVE lpStr, int32_t, 1
    NASMX_RESERVE uiFlags, int32_t, 1
	NASMX_STRUC rcl, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE pdx, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC FIXED
    NASMX_RESERVE fract, short_t, 1
    NASMX_RESERVE Value, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MAT2
    NASMX_RESERVE eM11, int32_t, 1
    NASMX_RESERVE eM12, int32_t, 1
    NASMX_RESERVE eM21, int32_t, 1
    NASMX_RESERVE eM22, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC GLYPHMETRICS
    NASMX_RESERVE gmBlackBoxX, int32_t, 1
    NASMX_RESERVE gmBlackBoxY, int32_t, 1
    NASMX_STRUC gmptGlyphOrigin, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE gmCellIncX, short_t, 1
    NASMX_RESERVE gmCellIncY, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC POINTFX
    NASMX_RESERVE x, int32_t, 1
    NASMX_RESERVE y, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TTPOLYCURVE
    NASMX_RESERVE wType, short_t, 1
    NASMX_RESERVE cpfx, short_t, 1
    NASMX_RESERVE apfx, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TTPOLYGONHEADER
    NASMX_RESERVE cb, int32_t, 1
    NASMX_RESERVE dwType, int32_t, 1
    NASMX_RESERVE pfxStart, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC RASTERIZER_STATUS
    NASMX_RESERVE nSize, short_t, 1
    NASMX_RESERVE wFlags, short_t, 1
    NASMX_RESERVE nLanguageID, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC COLORADJUSTMENT
    NASMX_RESERVE caSize, short_t, 1
    NASMX_RESERVE caFlags, short_t, 1
    NASMX_RESERVE caIlluminantIndex, short_t, 1
    NASMX_RESERVE caRedGamma, short_t, 1
    NASMX_RESERVE caGreenGamma, short_t, 1
    NASMX_RESERVE caBlueGamma, short_t, 1
    NASMX_RESERVE caReferenceBlack, short_t, 1
    NASMX_RESERVE caReferenceWhite, short_t, 1
    NASMX_RESERVE caContrast, short_t, 1
    NASMX_RESERVE caBrightness, short_t, 1
    NASMX_RESERVE caColorfulness, short_t, 1
    NASMX_RESERVE caRedGreenTint, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DOCINFO
    NASMX_RESERVE cbSize,        int32_t, 1
    NASMX_RESERVE lpszDocName,   ptrdiff_t, 1
    NASMX_RESERVE lpszOutput,    ptrdiff_t, 1
    NASMX_RESERVE lpszDatatype,  ptrdiff_t, 1
    NASMX_RESERVE fwType,        int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC KERNINGPAIR
    NASMX_RESERVE wFirst, short_t, 1
    NASMX_RESERVE wSecond, short_t, 1
    NASMX_RESERVE iKernAmount, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMR
    NASMX_RESERVE iType, uint32_t, 1
    NASMX_RESERVE nSize, uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRTEXT
    NASMX_STRUC ptlReference, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE nchars,    int32_t, 1
    NASMX_RESERVE offString, int32_t, 1
    NASMX_RESERVE fOptions,  int32_t, 1
    NASMX_STRUC rcl, RECT
        NASMX_RESERVE left,   int32_t, 1
        NASMX_RESERVE top,    int32_t, 1
        NASMX_RESERVE right,  int32_t, 1
        NASMX_RESERVE bottom, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE offDx, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRABORTPATH
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRBEGINPATH
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRENDPATH
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRCLOSEFIGURE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRFLATTENPATH
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRWIDENPATH
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRSETMETARGN
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMREMRSAVEDC
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRREALIZEPALETTE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRSELECTCLIPPATH
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iMode, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETBKMODE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iMode, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETMAPMODE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iMode, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETPOLYFILLMODE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iMode, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETROP2
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iMode, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETSTRETCHBLTMODE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iMode, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETTEXTALIGN
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iMode, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETMITERLIMIT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE eMiterLimit, int64_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRRESTOREDC
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iRelative, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETARCDIRECTION
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iArcDirection, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETMAPPERFLAGS
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE dwFlags, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETTEXTCOLOR
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE crColor, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETBKCOLOR
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE crColor, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSELECTOBJECT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihObject, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRDELETEOBJECT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihObject, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSELECTPALETTE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihPal, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRRESIZEPALETTE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihPal, int32_t, 1
    NASMX_RESERVE cEntries, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETPALETTEENTRIES
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihPal, int32_t, 1
    NASMX_RESERVE iStart, int32_t, 1
    NASMX_RESERVE cEntries, int32_t, 1
    NASMX_RESERVE aPalEntries, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETCOLORADJUSTMENT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ColorAdjustment, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRGDICOMMENT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cbData, int32_t, 1
    NASMX_RESERVE xData1, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMREOF
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE nPalEntries, int32_t, 1
    NASMX_RESERVE offPalEntries, int32_t, 1
    NASMX_RESERVE nSizeLast, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRLINETO
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptl, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRMOVETOEX
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptl, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMROFFSETCLIPRGN
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlOffset, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRFILLPATH
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC

NASMX_ENDSTRUC

NASMX_STRUC EMRSTROKEANDFILLPATH
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC

NASMX_ENDSTRUC

NASMX_STRUC EMRSTROKEPATH
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMREXCLUDECLIPRECT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclClip, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC

NASMX_ENDSTRUC

NASMX_STRUC EMRINTERSECTCLIPRECT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclClip, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRSETVIEWPORTORGEX
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlOrigin, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRSETWINDOWORGEX
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlOrigin, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRSETBRUSHORGEX
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlOrigin, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRSETVIEWPORTEXTEX
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE szlExtent, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETWINDOWEXTEX
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE szlExtent, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSCALEVIEWPORTEXTEX
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE xNum, int32_t, 1
    NASMX_RESERVE xDenom, int32_t, 1
    NASMX_RESERVE yNum, int32_t, 1
    NASMX_RESERVE yDemon, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSCALEWINDOWEXTEX
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE xNum, int32_t, 1
    NASMX_RESERVE xDenom, int32_t, 1
    NASMX_RESERVE yNum, int32_t, 1
    NASMX_RESERVE yDemon, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETWORLDTRANSFORM
    NASMX_STRUC emr, EMR
        NASMX_RESERVE iType, int32_t, 1
        NASMX_RESERVE nSize, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_STRUC xform, XFORM
        NASMX_RESERVE eM11, int32_t,1
        NASMX_RESERVE eM12, int32_t, 1
        NASMX_RESERVE eM21, int32_t, 1
        NASMX_RESERVE eM22, int32_t, 1
        NASMX_RESERVE eDx,  int32_t, 1
        NASMX_RESERVE eDy,  int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRMODIFYWORLDTRANSFORM
    NASMX_STRUC emr, EMR
        NASMX_RESERVE iType, int32_t, 1
        NASMX_RESERVE nSize, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_STRUC xform, XFORM
        NASMX_RESERVE eM11, int32_t,1
        NASMX_RESERVE eM12, int32_t, 1
        NASMX_RESERVE eM21, int32_t, 1
        NASMX_RESERVE eM22, int32_t, 1
        NASMX_RESERVE eDx,  int32_t, 1
        NASMX_RESERVE eDy,  int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE iMode, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETPIXELV
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlPixel, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE crColor, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMREXTFLOODFILL
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlStart, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE crColor, int32_t, 1
    NASMX_RESERVE iMode, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRELLIPSE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBox, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRRECTANGLE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBox, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRROUNDRECT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBox, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE szlCorner, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRARC
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBox, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlStart, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlEnd, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRARCTO
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBox, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlStart, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlEnd, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRCHORD
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBox, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlStart, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlEnd, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPIE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBox, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlStart, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlEnd, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRANGLEARC
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptlCenter, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE nRadius,     int32_t, 1
    NASMX_RESERVE eStartAngle, int32_t, 1
    NASMX_RESERVE eSweepAngle, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYLINE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cptl, int32_t, 1
    NASMX_STRUC aptl1, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYBEZIER
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cptl, int32_t, 1
    NASMX_STRUC aptl1, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYGON
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cptl, int32_t, 1
    NASMX_STRUC aptl1, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYBEZIERTO
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cptl, int32_t, 1
    NASMX_STRUC aptl1, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYLINE16
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cpts, int32_t, 1
    NASMX_STRUC apts, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYBEZIER16
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cpts, int32_t, 1
    NASMX_STRUC apts, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYGON16
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cpts, int32_t, 1
    NASMX_STRUC apts, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPLOYBEZIERTO16
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cpts, int32_t, 1
    NASMX_STRUC apts, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYLINETO16
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cpts, int32_t, 1
    NASMX_STRUC apts, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYDRAW
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cptl, int32_t, 1
    NASMX_STRUC aptl1, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE abTypes1, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYDRAW16
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cpts, int32_t, 1
    NASMX_STRUC apts, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE abTypes, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYPOLYLINE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE nPolys,      int32_t, 1
    NASMX_RESERVE cptl,        int32_t, 1
    NASMX_RESERVE aPolyCounts, int32_t, 1
    NASMX_STRUC aptl, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYPOLYGON
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE nPolys,      int32_t, 1
    NASMX_RESERVE cptl,        int32_t, 1
    NASMX_RESERVE aPolyCounts, int32_t, 1
    NASMX_STRUC aptl, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYPOLYLINE16
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE nPolys,      int32_t, 1
    NASMX_RESERVE cpts,        int32_t, 1
    NASMX_RESERVE aPolyCounts, int32_t, 1
    NASMX_STRUC apts1, POINTS
        NASMX_RESERVE x, int16_t, 1
        NASMX_RESERVE y, int16_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRPOLYPOLYGON16
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE nPolys,      int32_t, 1
    NASMX_RESERVE cpts,        int32_t, 1
    NASMX_RESERVE aPolyCounts, int32_t, 1
    NASMX_STRUC apts1, POINTS
        NASMX_RESERVE x, int16_t, 1
        NASMX_RESERVE y, int16_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRINVERTRGN
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cbRgnData, int32_t, 1
    NASMX_RESERVE RgnData1,  short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRPAINTRGN
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cbRgnData, int32_t, 1
    NASMX_RESERVE RgnData1,  short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRFILLRGN
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cbRgnData, int32_t, 1
    NASMX_RESERVE ihBrush,   int32_t, 1
    NASMX_RESERVE RgnData,   short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRFRAMERGN
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cbRgnData, int32_t, 1
    NASMX_RESERVE ihBrush, int32_t, 1
    NASMX_RESERVE szlStroke, int32_t, 1
    NASMX_RESERVE RgnData1, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMREXTSELECTCLIPRGN
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cbRgnData, int32_t, 1
    NASMX_RESERVE iMode, int32_t, 1
    NASMX_RESERVE RgnData, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMREXTTEXTOUT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iGraphicsMode, int32_t, 1
    NASMX_RESERVE exScale, int64_t, 1
    NASMX_RESERVE eyScale, int64_t, 1
    NASMX_RESERVE emrtext, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRBITBLT
    NASMX_STRUC emr, EMR
        NASMX_RESERVE iType, int32_t, 1
        NASMX_RESERVE nSize, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_STRUC rclBounds, RECT
        NASMX_RESERVE left,   int32_t, 1
        NASMX_RESERVE top,    int32_t, 1
        NASMX_RESERVE right,  int32_t, 1
        NASMX_RESERVE bottom, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE xDest,        int32_t, 1
    NASMX_RESERVE yDest,        int32_t, 1
    NASMX_RESERVE cxDest,       int32_t, 1
    NASMX_RESERVE cyDest,       int32_t, 1
    NASMX_RESERVE dwRop,        int32_t, 1
    NASMX_RESERVE xSrc,         int32_t, 1
    NASMX_RESERVE ySrc,         int32_t, 1
    NASMX_STRUC xformSrc, XFORM
        NASMX_RESERVE eM11, int32_t,1
        NASMX_RESERVE eM12, int32_t, 1
        NASMX_RESERVE eM21, int32_t, 1
        NASMX_RESERVE eM22, int32_t, 1
        NASMX_RESERVE eDx,  int32_t, 1
        NASMX_RESERVE eDy,  int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE crBkColorSrc, int32_t, 1
    NASMX_RESERVE iUsageSrc,    int32_t, 1
    NASMX_RESERVE offBmiSrc,    int32_t, 1
    NASMX_RESERVE cbBmiSrc,     int32_t, 1
    NASMX_RESERVE offBitsSrc,   int32_t, 1
    NASMX_RESERVE cbBitsSrc,    int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSTRETCHBLT
    NASMX_STRUC emr, EMR
        NASMX_RESERVE iType, int32_t, 1
        NASMX_RESERVE nSize, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_STRUC rclBounds, RECT
        NASMX_RESERVE left,   int32_t, 1
        NASMX_RESERVE top,    int32_t, 1
        NASMX_RESERVE right,  int32_t, 1
        NASMX_RESERVE bottom, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE xDest,  int32_t, 1
    NASMX_RESERVE yDest,  int32_t, 1
    NASMX_RESERVE cxDest, int32_t, 1
    NASMX_RESERVE cyDest, int32_t, 1
    NASMX_RESERVE dwRop,  int32_t, 1
    NASMX_RESERVE xSrc,   int32_t, 1
    NASMX_RESERVE ySrc,   int32_t, 1
    NASMX_STRUC xformSrc, XFORM
        NASMX_RESERVE eM11, int32_t,1
        NASMX_RESERVE eM12, int32_t, 1
        NASMX_RESERVE eM21, int32_t, 1
        NASMX_RESERVE eM22, int32_t, 1
        NASMX_RESERVE eDx,  int32_t, 1
        NASMX_RESERVE eDy,  int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE crBkColorSrc, int32_t, 1
    NASMX_RESERVE iUsageSrc,    int32_t, 1
    NASMX_RESERVE offBmiSrc,    int32_t, 1
    NASMX_RESERVE cbBmiSrc,     int32_t, 1
    NASMX_RESERVE offBitsSrc,   int32_t, 1
    NASMX_RESERVE cbBitsSrc,    int32_t, 1
    NASMX_RESERVE cxSrc,        int32_t, 1
    NASMX_RESERVE cySrc,        int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRMASKBLT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left,   int32_t, 1
		NASMX_RESERVE top,    int32_t, 1
		NASMX_RESERVE right,  int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE xDest,   int32_t, 1
    NASMX_RESERVE yDest,   int32_t, 1
    NASMX_RESERVE cxDest,  int32_t, 1
    NASMX_RESERVE cyDest,  int32_t, 1
    NASMX_RESERVE dwRop,   int32_t, 1
    NASMX_RESERVE xSrc2,   int32_t, 1
    NASMX_RESERVE cyDest2, int32_t, 1
    NASMX_RESERVE dwRop2,  int32_t, 1
    NASMX_RESERVE xSrc,    int32_t, 1
    NASMX_RESERVE ySrc,    int32_t, 1
    NASMX_STRUC xformSrc, XFORM
        NASMX_RESERVE eM11, int32_t,1
        NASMX_RESERVE eM12, int32_t, 1
        NASMX_RESERVE eM21, int32_t, 1
        NASMX_RESERVE eM22, int32_t, 1
        NASMX_RESERVE eDx,  int32_t, 1
        NASMX_RESERVE eDy,  int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE crBkColorSrc, int32_t, 1
    NASMX_RESERVE iUsageSrc,    int32_t, 1
    NASMX_RESERVE offBmiSrc,    int32_t, 1
    NASMX_RESERVE cbBmiSrc,     int32_t, 1
    NASMX_RESERVE offBitsSrc,   int32_t, 1
    NASMX_RESERVE cbBitsSrc,    int32_t, 1
    NASMX_RESERVE xMask,        int32_t, 1
    NASMX_RESERVE yMask,        int32_t, 1
    NASMX_RESERVE iUsageMask,   int32_t, 1
    NASMX_RESERVE offBmiMask,   int32_t, 1
    NASMX_RESERVE cbBmiMask,    int32_t, 1
    NASMX_RESERVE offBitsMask,  int32_t, 1
    NASMX_RESERVE cbBitsMask,   int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRPLGBLT
    NASMX_STRUC emr, EMR
        NASMX_RESERVE iType, int32_t, 1
        NASMX_RESERVE nSize, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_STRUC rclBounds, RECT
        NASMX_RESERVE left,   int32_t, 1
        NASMX_RESERVE top,    int32_t, 1
        NASMX_RESERVE right,  int32_t, 1
        NASMX_RESERVE bottom, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE aptlDest3,    POINT, 3
    NASMX_RESERVE xSrc,         int32_t, 1
    NASMX_RESERVE ySrc,         int32_t, 1
    NASMX_RESERVE cxSrc,        int32_t, 1
    NASMX_RESERVE cySrc,        int32_t, 1
    NASMX_STRUC xformSrc, XFORM
        NASMX_RESERVE eM11, int32_t,1
        NASMX_RESERVE eM12, int32_t, 1
        NASMX_RESERVE eM21, int32_t, 1
        NASMX_RESERVE eM22, int32_t, 1
        NASMX_RESERVE eDx,  int32_t, 1
        NASMX_RESERVE eDy,  int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE crBkColorSrc, int32_t, 1
    NASMX_RESERVE iUsageSrc,    int32_t, 1
    NASMX_RESERVE offBmiSrc,    int32_t, 1
    NASMX_RESERVE cbBmiSrc,     int32_t, 1
    NASMX_RESERVE offBitsSrc,   int32_t, 1
    NASMX_RESERVE cbBitsSrc,    int32_t, 1
    NASMX_RESERVE xMask,        int32_t, 1
    NASMX_RESERVE yMask,        int32_t, 1
    NASMX_RESERVE iUsageMask,   int32_t, 1
    NASMX_RESERVE offBmiMask,   int32_t, 1
    NASMX_RESERVE cbBmiMask,    int32_t, 1
    NASMX_RESERVE offBitsMask,  int32_t, 1
    NASMX_RESERVE cbBitsMask,   int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSETDIBITSTODEVICE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE xDest, int32_t, 1
    NASMX_RESERVE yDest, int32_t, 1
    NASMX_RESERVE xSrc, int32_t, 1
    NASMX_RESERVE ySrc, int32_t, 1
    NASMX_RESERVE cxSrc, int32_t, 1
    NASMX_RESERVE cySrc, int32_t, 1
    NASMX_RESERVE offBmiSrc, int32_t, 1
    NASMX_RESERVE cbBmiSrc, int32_t, 1
    NASMX_RESERVE offBitsSrc, int32_t, 1
    NASMX_RESERVE cbBitsSrc, int32_t, 1
    NASMX_RESERVE iUsageSrc, int32_t, 1
    NASMX_RESERVE iStartScan, int32_t, 1
    NASMX_RESERVE cScans, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRSTRETCHDIBITS
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rclBounds, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE xDest, int32_t, 1
    NASMX_RESERVE yDest, int32_t, 1
    NASMX_RESERVE xSrc, int32_t, 1
    NASMX_RESERVE ySrc, int32_t, 1
    NASMX_RESERVE cxSrc, int32_t, 1
    NASMX_RESERVE cySrc, int32_t, 1
    NASMX_RESERVE offBmiSrc, int32_t, 1
    NASMX_RESERVE cbBmiSrc, int32_t, 1
    NASMX_RESERVE offBitsSrc, int32_t, 1
    NASMX_RESERVE cbBitsSrc, int32_t, 1
    NASMX_RESERVE iUsageSrc, int32_t, 1
    NASMX_RESERVE dwRop, int32_t, 1
    NASMX_RESERVE cxDest, int32_t, 1
    NASMX_RESERVE cyDest, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMREXTCREATEFONTINDIRECT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihFont, int32_t, 1
    NASMX_RESERVE elfw, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRCREATEPALETTE
    NASMX_STRUC emr, EMR
        NASMX_RESERVE iType, int32_t, 1
        NASMX_RESERVE nSize, int32_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE ihPal, int32_t, 1
    NASMX_STRUC lgpl, LOGPALETTE
        NASMX_RESERVE palVersion,    short_t, 1
        NASMX_RESERVE palNumEntries, short_t, 1
        NASMX_STRUC palPalEntry, PALETTEENTRY
            NASMX_RESERVE peRed,   int8_t, 1
            NASMX_RESERVE peGreen, int8_t, 1
            NASMX_RESERVE peBlue,  int8_t, 1
            NASMX_RESERVE peFlags, int8_t, 1
        NASMX_ENDSTRUC
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRCREATEPEN
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihPen, int32_t, 1
    NASMX_RESERVE lopn, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMREXTCREATEPEN
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihPen, int32_t, 1
    NASMX_RESERVE offBmi, int32_t, 1
    NASMX_RESERVE cbBmi, int32_t, 1
    NASMX_RESERVE offBits, int32_t, 1
    NASMX_RESERVE cbBits, int32_t, 1
    NASMX_RESERVE elp, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRCREATEBRUSHINDIRECT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihBrush, int32_t, 1
    NASMX_STRUC lb, LOGBRUSH
        NASMX_RESERVE lbStyle, int32_t, 1
        NASMX_RESERVE lbColor, int32_t, 1
        NASMX_RESERVE lbHatch, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC EMRCREATEMONOBRUSH
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihBrush, int32_t, 1
    NASMX_RESERVE iUsage, int32_t, 1
    NASMX_RESERVE offBmi, int32_t, 1
    NASMX_RESERVE cbBmi, int32_t, 1
    NASMX_RESERVE offBits, int32_t, 1
    NASMX_RESERVE cbBits, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRCREATEDIBPATTERNBRUSHPT
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihBursh, int32_t, 1
    NASMX_RESERVE iUsage, int32_t, 1
    NASMX_RESERVE offBmi, int32_t, 1
    NASMX_RESERVE cbBmi, int32_t, 1
    NASMX_RESERVE offBits, int32_t, 1
    NASMX_RESERVE cbBits, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC BITMAPV4HEADER
    NASMX_RESERVE bV4Size, int32_t, 1
    NASMX_RESERVE bV4Width, int32_t, 1
    NASMX_RESERVE bV4Height, int32_t, 1
    NASMX_RESERVE bV4Planes, short_t, 1
    NASMX_RESERVE bV4BitCount, short_t, 1
    NASMX_RESERVE bV4V4Compression, int32_t, 1
    NASMX_RESERVE bV4SizeImage, int32_t, 1
    NASMX_RESERVE bV4XPelsPerMeter, int32_t, 1
    NASMX_RESERVE bV4YPelsPerMeter, int32_t, 1
    NASMX_RESERVE bV4ClrUsed, int32_t, 1
    NASMX_RESERVE bV4ClrImportant, int32_t, 1
    NASMX_RESERVE bV4RedMask, int32_t, 1
    NASMX_RESERVE bV4GreenMask, int32_t, 1
    NASMX_RESERVE bV4BlueMask, int32_t, 1
    NASMX_RESERVE bV4AlphaMask, int32_t, 1
    NASMX_RESERVE bV4CSType, int32_t, 1
    NASMX_STRUC bV4Endpoints, CIEXYZTRIPLE
        NASMX_STRUC ciexyzRed, CIEXYZ
            NASMX_RESERVE ciexyzX, int32_t, 1
            NASMX_RESERVE ciexyzY, int32_t, 1
            NASMX_RESERVE ciexyzZ, int32_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC ciexyzGreen, CIEXYZ
            NASMX_RESERVE ciexyzX, int32_t, 1
            NASMX_RESERVE ciexyzY, int32_t, 1
            NASMX_RESERVE ciexyzZ, int32_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC ciexyBlue, CIEXYZ
            NASMX_RESERVE ciexyzX, int32_t, 1
            NASMX_RESERVE ciexyzY, int32_t, 1
            NASMX_RESERVE ciexyzZ, int32_t, 1
        NASMX_ENDSTRUC
    NASMX_ENDSTRUC    
    NASMX_RESERVE bV4GammaRed, int32_t, 1
    NASMX_RESERVE bV4GammaGreen, int32_t, 1
    NASMX_RESERVE bV4GammaBlue, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC FONTSIGNATURE
    NASMX_RESERVE fsUsb, int32_t, 4
    NASMX_RESERVE fsCsb, int32_t, 2
NASMX_ENDSTRUC

NASMX_STRUC CHARSETINFO
    NASMX_RESERVE ciCharset, int32_t, 1
    NASMX_RESERVE ciACP, int32_t, 1
    NASMX_STRUC fs, FONTSIGNATURE
        NASMX_RESERVE fsUsb, int32_t, 4
        NASMX_RESERVE fsCsb, int32_t, 2
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC LOCALESIGNATURE
    NASMX_RESERVE lsUsb4, int32_t, 1
    NASMX_RESERVE lsCsbDefault, int32_t, 1
    NASMX_RESERVE lsCsbSupported, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC NEWTEXTMETRICEX
    NASMX_RESERVE ntmTm, int32_t, 1
    NASMX_RESERVE ntmFontSig, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ENUMLOGFONTEX
    NASMX_STRUC elfLogFont, LOGFONT
        NASMX_RESERVE lfHeight,         int32_t, 1
        NASMX_RESERVE lfWidth,          int32_t, 1
        NASMX_RESERVE lfEscapement,     int32_t, 1
        NASMX_RESERVE lfOrientation,    int32_t, 1
        NASMX_RESERVE lfWeight,         int32_t, 1
        NASMX_RESERVE lfItalic,         int8_t, 1
        NASMX_RESERVE lfUnderline,      int8_t, 1
        NASMX_RESERVE lfStrikeOut,      int8_t, 1
        NASMX_RESERVE lfCharSet,        int8_t, 1
        NASMX_RESERVE lfOutPrecision,   int8_t, 1
        NASMX_RESERVE lfClipPrecision,  int8_t, 1
        NASMX_RESERVE lfQuality,        int8_t, 1
        NASMX_RESERVE lfPitchAndFamily, int8_t, 1
        NASMX_RESERVE lfFaceName,       NASMX_TCHAR, LF_FACESIZE
    NASMX_ENDSTRUC
    NASMX_RESERVE elfFullName, NASMX_TCHAR, LF_FULLFACESIZE
    NASMX_RESERVE elfStyle, NASMX_TCHAR, LF_FACESIZE
    NASMX_RESERVE elfScript, NASMX_TCHAR, LF_FACESIZE
NASMX_ENDSTRUC

NASMX_STRUC GCP_RESULTS
    NASMX_RESERVE lStructSize, int32_t, 1
    NASMX_RESERVE lpOutString, int32_t, 1
    NASMX_RESERVE lpOrder, int32_t, 1
    NASMX_RESERVE lpDX, int32_t, 1
    NASMX_RESERVE lpCaretPos, int32_t, 1
    NASMX_RESERVE lpClass, int32_t, 1
    NASMX_RESERVE lpGlyphs, int32_t, 1
    NASMX_RESERVE nGlyphs, int32_t, 1
    NASMX_RESERVE nMaxFit, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CIEXYZ
    NASMX_RESERVE ciexyzX, int32_t, 1
    NASMX_RESERVE ciexyzY, int32_t, 1
    NASMX_RESERVE ciexyzZ, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CIEXYZTRIPLE
        NASMX_STRUC ciexyzRed, CIEXYZ
            NASMX_RESERVE ciexyzX, int32_t, 1
            NASMX_RESERVE ciexyzY, int32_t, 1
            NASMX_RESERVE ciexyzZ, int32_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC ciexyzGreen, CIEXYZ
            NASMX_RESERVE ciexyzX, int32_t, 1
            NASMX_RESERVE ciexyzY, int32_t, 1
            NASMX_RESERVE ciexyzZ, int32_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC ciexyBlue, CIEXYZ
            NASMX_RESERVE ciexyzX, int32_t, 1
            NASMX_RESERVE ciexyzY, int32_t, 1
            NASMX_RESERVE ciexyzZ, int32_t, 1
        NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC LOGCOLORSPACE
    NASMX_RESERVE lcsSignature,  int32_t, 1
    NASMX_RESERVE lcsVersion,    int32_t, 1
    NASMX_RESERVE lcsSize,       int32_t, 1
    NASMX_RESERVE lcsCSType,     int32_t, 1
    NASMX_RESERVE lcsIntent,     int32_t, 1
    NASMX_STRUC lcsEndPoints, CIEXYZTRIPLE
        NASMX_STRUC ciexyzRed, CIEXYZ
            NASMX_RESERVE ciexyzX, int32_t, 1
            NASMX_RESERVE ciexyzY, int32_t, 1
            NASMX_RESERVE ciexyzZ, int32_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC ciexyzGreen, CIEXYZ
            NASMX_RESERVE ciexyzX, int32_t, 1
            NASMX_RESERVE ciexyzY, int32_t, 1
            NASMX_RESERVE ciexyzZ, int32_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC ciexyBlue, CIEXYZ
            NASMX_RESERVE ciexyzX, int32_t, 1
            NASMX_RESERVE ciexyzY, int32_t, 1
            NASMX_RESERVE ciexyzZ, int32_t, 1
        NASMX_ENDSTRUC
    NASMX_ENDSTRUC
    NASMX_RESERVE lcsGammaRed,   int32_t, 1
    NASMX_RESERVE lcsGammaGreen, int32_t, 1
    NASMX_RESERVE lcsGammaBlue,  int32_t, 1
    NASMX_RESERVE lcsFileName, NASMX_TCHAR, MAX_PATH
NASMX_ENDSTRUC

NASMX_STRUC EMRSELECTCOLORSPACE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihCS, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EMRCREATECOLORSPACE
	NASMX_STRUC emr, EMR
		NASMX_RESERVE iType, int32_t, 1
		NASMX_RESERVE nSize, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE ihCS, int32_t, 1
    NASMX_RESERVE lcs, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CBTACTIVATESTRUCT
    NASMX_RESERVE fMouse, int32_t, 1
    NASMX_RESERVE hWndActive, ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EVENTMSG
    NASMX_RESERVE message, int32_t, 1
    NASMX_RESERVE paramL, int32_t, 1
    NASMX_RESERVE paramH, int32_t, 1
    NASMX_RESERVE time, int32_t, 1
    NASMX_RESERVE hwnd, ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CWPSTRUCT
    NASMX_RESERVE lParam, int32_t, 1
    NASMX_RESERVE wParam, int32_t, 1
    NASMX_RESERVE message, int32_t, 1
    NASMX_RESERVE hwnd, ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DEBUGHOOKINFO
    NASMX_RESERVE hModuleHook, int32_t, 1
    NASMX_RESERVE Reserved, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
    NASMX_RESERVE wParam, int32_t, 1
    NASMX_RESERVE code, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MOUSEHOOKSTRUCT
	NASMX_STRUC pt, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE hwnd, ptrdiff_t, 1
    NASMX_RESERVE wHitTestCode, int32_t, 1
    NASMX_RESERVE dwExtraInfo, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MINMAXINFO
	NASMX_STRUC ptReserved, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptMaxSize, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptMaxPosition, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptMinTrackSize, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptMaxTrackSize, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC COPYDATASTRUCT
    NASMX_RESERVE dwData, int32_t, 1
    NASMX_RESERVE cbData, int32_t, 1
    NASMX_RESERVE lpData, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC WINDOWPOS
    NASMX_RESERVE hwnd, ptrdiff_t, 1
    NASMX_RESERVE hWndInsertAfter, ptrdiff_t, 1
    NASMX_RESERVE x, int32_t, 1
    NASMX_RESERVE y, int32_t, 1
    NASMX_RESERVE lx, int32_t, 1
    NASMX_RESERVE ly, int32_t, 1
    NASMX_RESERVE flags, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ACCEL
    NASMX_RESERVE fVirt, int8_t, 1
    NASMX_RESERVE key, short_t, 1
    NASMX_RESERVE cmd, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PAINTSTRUCT
    NASMX_RESERVE hdc,         ptrdiff_t, 1
    NASMX_RESERVE fErase,      int32_t, 1
	NASMX_STRUC rcPaint, RECT
		NASMX_RESERVE left,    int32_t, 1
		NASMX_RESERVE top,     int32_t, 1
		NASMX_RESERVE right,   int32_t, 1
		NASMX_RESERVE bottom,  int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE fRestore,    int32_t, 1
    NASMX_RESERVE fIncUpdate,  int32_t, 1
    NASMX_RESERVE rgbReserved, int8_t, 32 
NASMX_ENDSTRUC

NASMX_STRUC CREATESTRUCT
    NASMX_RESERVE lpCreateParams, ptrdiff_t, 1
    NASMX_RESERVE hInstance,  ptrdiff_t, 1
    NASMX_RESERVE hMenu,      ptrdiff_t, 1
    NASMX_RESERVE hWndParent, ptrdiff_t, 1
    NASMX_RESERVE cy,         int32_t, 1
    NASMX_RESERVE cx,         int32_t, 1
    NASMX_RESERVE y,          int32_t, 1
    NASMX_RESERVE x,          int32_t, 1
    NASMX_RESERVE style,      int32_t, 1
    NASMX_RESERVE lpszName,   ptrdiff_t, 1
    NASMX_RESERVE lpszClass,  ptrdiff_t, 1
    NASMX_RESERVE ExStyle,    int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CBT_CREATEWND
    NASMX_RESERVE lpcs, int32_t, 1
    NASMX_RESERVE hWndInsertAfter, ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC WINDOWPLACEMENT
    NASMX_RESERVE iLength, int32_t, 1
    NASMX_RESERVE flags, int32_t, 1
    NASMX_RESERVE showCmd, int32_t, 1
	NASMX_STRUC ptMinPosition, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ptMaxPosition, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rcNormalPosition, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC MEASUREITEMSTRUCT
    NASMX_RESERVE CtlType, int32_t, 1
    NASMX_RESERVE CtlID, int32_t, 1
    NASMX_RESERVE itemID, int32_t, 1
    NASMX_RESERVE itemWidth, int32_t, 1
    NASMX_RESERVE itemHeight, int32_t, 1
    NASMX_RESERVE itemData, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DRAWITEMSTRUCT
    NASMX_RESERVE CtlType, int32_t, 1
    NASMX_RESERVE CtlID, int32_t, 1
    NASMX_RESERVE itemID, int32_t, 1
    NASMX_RESERVE itemAction, int32_t, 1
    NASMX_RESERVE itemState, int32_t, 1
    NASMX_RESERVE hwndItem, ptrdiff_t, 1
    NASMX_RESERVE hDC, int32_t, 1
	NASMX_STRUC rcItem, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE itemData, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DELETEITEMSTRUCT
    NASMX_RESERVE CtlType, int32_t, 1
    NASMX_RESERVE CtlID, int32_t, 1
    NASMX_RESERVE itemID, int32_t, 1
    NASMX_RESERVE hwndItem, ptrdiff_t, 1
    NASMX_RESERVE itemData, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC COMPAREITEMSTRUCT
    NASMX_RESERVE CtlType,    int32_t, 1
    NASMX_RESERVE CtlID,      int32_t, 1
    NASMX_RESERVE hwndItem,   ptrdiff_t, 1
    NASMX_RESERVE itemID1,    int32_t, 1
    NASMX_RESERVE itemData1,  ptrdiff_t, 1
    NASMX_RESERVE itemID2,    int32_t, 1
    NASMX_RESERVE itemData2,  ptrdiff_t, 1
    NASMX_RESERVE dwLocaleId, int32_t, 1
NASMX_ENDSTRUC

; WINUSER.H WARNING:
; The following structures must NOT be DWORD padded because they are
; followed by strings, etc that do not have to be DWORD aligned.
NASMX_PRAGMA PACK, PUSH, 2

NASMX_STRUC DLGTEMPLATE
    NASMX_RESERVE style,           int32_t, 1
    NASMX_RESERVE dwExtendedStyle, int32_t, 1
    NASMX_RESERVE cdit,            int16_t, 1
    NASMX_RESERVE x,               short_t, 1
    NASMX_RESERVE y,               short_t, 1
    NASMX_RESERVE cx,              short_t, 1
    NASMX_RESERVE cy,              short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DLGITEMTEMPLATE
    NASMX_RESERVE style,           int32_t, 1
    NASMX_RESERVE dwExtendedStyle, int32_t, 1
    NASMX_RESERVE x,               short_t, 1
    NASMX_RESERVE y,               short_t, 1
    NASMX_RESERVE cx,              short_t, 1
    NASMX_RESERVE cy,              short_t, 1
    NASMX_RESERVE id,              short_t, 1
NASMX_ENDSTRUC

NASMX_PRAGMA PACK, POP

NASMX_STRUC MENUITEMTEMPLATEHEADER
    NASMX_RESERVE versionNumber, short_t, 1
    NASMX_RESERVE loffset, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MENUITEMTEMPLATE
    NASMX_RESERVE mtOption, short_t, 1
    NASMX_RESERVE mtID, short_t, 1
    NASMX_RESERVE mtString, int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ICONINFO
    NASMX_RESERVE fIcon, int32_t, 1
    NASMX_RESERVE xHotspot, int32_t, 1
    NASMX_RESERVE yHotspot, int32_t, 1
    NASMX_RESERVE hbmMask, int32_t, 1
    NASMX_RESERVE hbmColor, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MDICREATESTRUCT
    NASMX_RESERVE szClass, int32_t, 1
    NASMX_RESERVE szTitle, int32_t, 1
    NASMX_RESERVE hOwner, int32_t, 1
    NASMX_RESERVE x, int32_t, 1
    NASMX_RESERVE y, int32_t, 1
    NASMX_RESERVE lx, int32_t, 1
    NASMX_RESERVE ly, int32_t, 1
    NASMX_RESERVE style, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CLIENTCREATESTRUCT
    NASMX_RESERVE hWindowMenu, int32_t, 1
    NASMX_RESERVE idFirstChild, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MULTIKEYHELP
    NASMX_RESERVE mkSize, int32_t, 1
    NASMX_RESERVE mkKeylist, int8_t, 1
    NASMX_RESERVE szKeyphrase, int8_t, 253
NASMX_ENDSTRUC

NASMX_STRUC HELPWININFO
    NASMX_RESERVE wStructSize, int32_t, 1
    NASMX_RESERVE x, int32_t, 1
    NASMX_RESERVE y, int32_t, 1
    NASMX_RESERVE lx, int32_t, 1
    NASMX_RESERVE ly, int32_t, 1
    NASMX_RESERVE wMax, int32_t, 1
    NASMX_RESERVE rgchMember, int8_t, 2
NASMX_ENDSTRUC

NASMX_STRUC SECURITY_QUALITY_OF_SERVICE
    NASMX_RESERVE Length,              int32_t, 1
    NASMX_RESERVE Impersonationlevel,  uint_t, 1
    NASMX_RESERVE ContextTrackingMode, uint8_t, 1
    NASMX_RESERVE EffectiveOnly,       uint8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PRINTER_INFO_1
    NASMX_RESERVE flags, int32_t, 1
    NASMX_RESERVE pDescription, int32_t, 1
    NASMX_RESERVE pName, int32_t, 1
    NASMX_RESERVE pComment, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PRINTER_INFO_2
    NASMX_RESERVE pServerName, int32_t, 1
    NASMX_RESERVE pPrinterName, int32_t, 1
    NASMX_RESERVE pShareName, int32_t, 1
    NASMX_RESERVE pPortName, int32_t, 1
    NASMX_RESERVE pDriverName, int32_t, 1
    NASMX_RESERVE pComment, int32_t, 1
    NASMX_RESERVE pLocation, int32_t, 1
    NASMX_RESERVE pDevMode, int32_t, 1
    NASMX_RESERVE pSepFile, int32_t, 1
    NASMX_RESERVE pPrintProcessor, int32_t, 1
    NASMX_RESERVE pDatatype, int32_t, 1
    NASMX_RESERVE pParameters, int32_t, 1
    NASMX_RESERVE pSecurityDescriptor, int32_t, 1
    NASMX_RESERVE Attributes, int32_t, 1
    NASMX_RESERVE Priority, int32_t, 1
    NASMX_RESERVE DefaultPriority, int32_t, 1
    NASMX_RESERVE StartTime, int32_t, 1
    NASMX_RESERVE UntilTime, int32_t, 1
    NASMX_RESERVE Status, int32_t, 1
    NASMX_RESERVE cJobs, int32_t, 1
    NASMX_RESERVE AveragePPM, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PRINTER_INFO_3
    NASMX_RESERVE pSecurityDescriptor, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC JOB_INFO_1
    NASMX_RESERVE JobId, int32_t, 1
    NASMX_RESERVE pPrinterName, int32_t, 1
    NASMX_RESERVE pMachineName, int32_t, 1
    NASMX_RESERVE pUserName, int32_t, 1
    NASMX_RESERVE pDocument, int32_t, 1
    NASMX_RESERVE pDatatype, int32_t, 1
    NASMX_RESERVE pStatus, int32_t, 1
    NASMX_RESERVE Status, int32_t, 1
    NASMX_RESERVE Priority, int32_t, 1
    NASMX_RESERVE Position, int32_t, 1
    NASMX_RESERVE TotalPages, int32_t, 1
    NASMX_RESERVE PagesPrinted, int32_t, 1
    NASMX_RESERVE Submitted, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC JOB_INFO_2
    NASMX_RESERVE JobId, int32_t, 1
    NASMX_RESERVE pPrinterName, int32_t, 1
    NASMX_RESERVE pMachineName, int32_t, 1
    NASMX_RESERVE pUserName, int32_t, 1
    NASMX_RESERVE pDocument, int32_t, 1
    NASMX_RESERVE pNotifyName, int32_t, 1
    NASMX_RESERVE pDatatype, int32_t, 1
    NASMX_RESERVE pPrintProcessor, int32_t, 1
    NASMX_RESERVE pParameters, int32_t, 1
    NASMX_RESERVE pDriverName, int32_t, 1
    NASMX_RESERVE pDevMode, int32_t, 1
    NASMX_RESERVE pStatus, int32_t, 1
    NASMX_RESERVE pSecurityDescriptor, int32_t, 1
    NASMX_RESERVE Status, int32_t, 1
    NASMX_RESERVE Priority, int32_t, 1
    NASMX_RESERVE Position, int32_t, 1
    NASMX_RESERVE StartTime, int32_t, 1
    NASMX_RESERVE UntilTime, int32_t, 1
    NASMX_RESERVE TotalPages, int32_t, 1
    NASMX_RESERVE isize, int32_t, 1
    NASMX_RESERVE Submitted, int32_t, 1
    NASMX_RESERVE time, int32_t, 1
    NASMX_RESERVE PagesPrinted, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ADDJOB_INFO_1
    NASMX_RESERVE Path, int32_t, 1
    NASMX_RESERVE JobId, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DRIVER_INFO_1
    NASMX_RESERVE pName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DRIVER_INFO_2
    NASMX_RESERVE cVersion, int32_t, 1
    NASMX_RESERVE pName, int32_t, 1
    NASMX_RESERVE pEnvironment, int32_t, 1
    NASMX_RESERVE pDriverPath, int32_t, 1
    NASMX_RESERVE pDataFile, int32_t, 1
    NASMX_RESERVE pConfigFile, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DOC_INFO_1
    NASMX_RESERVE pDocName, int32_t, 1
    NASMX_RESERVE pOutputFile, int32_t, 1
    NASMX_RESERVE pDatatype, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC FORM_INFO_1
    NASMX_RESERVE pName, int32_t, 1
    NASMX_RESERVE isize, int32_t, 1
    NASMX_RESERVE ImageableArea, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PRINTPROCESSOR_INFO_1
    NASMX_RESERVE pName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PORT_INFO_1
    NASMX_RESERVE pName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MONITOR_INFO_1
    NASMX_RESERVE pName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MONITOR_INFO_2
    NASMX_RESERVE pName, int32_t, 1
    NASMX_RESERVE pEnvironment, int32_t, 1
    NASMX_RESERVE pDLLName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DATATYPES_INFO_1
    NASMX_RESERVE pName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PRINTER_DEFAULTS
    NASMX_RESERVE pDatatype, int32_t, 1
    NASMX_RESERVE pDevMode, int32_t, 1
    NASMX_RESERVE DesiredAccess, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PRINTER_INFO_4
    NASMX_RESERVE pPrinterName, int32_t, 1
    NASMX_RESERVE pServerName, int32_t, 1
    NASMX_RESERVE Attributes, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PRINTER_INFO_5
    NASMX_RESERVE pPrinterName, int32_t, 1
    NASMX_RESERVE pPortName, int32_t, 1
    NASMX_RESERVE Attributes, int32_t, 1
    NASMX_RESERVE DeviceNotSelectedTimeout, int32_t, 1
    NASMX_RESERVE TransmissionRetryTimeout, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DRIVER_INFO_3
    NASMX_RESERVE cVersion, int32_t, 1
    NASMX_RESERVE pName, int32_t, 1
    NASMX_RESERVE pEnvironment, int32_t, 1
    NASMX_RESERVE pDriverPath, int32_t, 1
    NASMX_RESERVE pDataFile, int32_t, 1
    NASMX_RESERVE pConfigFile, int32_t, 1
    NASMX_RESERVE pHelpFile, int32_t, 1
    NASMX_RESERVE pDependentFiles, int32_t, 1
    NASMX_RESERVE pMonitorName, int32_t, 1
    NASMX_RESERVE pDefaultDataType, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DOC_INFO_2
    NASMX_RESERVE pDocName, int32_t, 1
    NASMX_RESERVE pOutputFile, int32_t, 1
    NASMX_RESERVE pDatatype, int32_t, 1
    NASMX_RESERVE dwMode, int32_t, 1
    NASMX_RESERVE JobId, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PORT_INFO_2
    NASMX_RESERVE pPortName, int32_t, 1
    NASMX_RESERVE pMonitorName, int32_t, 1
    NASMX_RESERVE pDescription, int32_t, 1
    NASMX_RESERVE fPortType, int32_t, 1
    NASMX_RESERVE Reserved, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PROVIDOR_INFO_1
    NASMX_RESERVE pName, int32_t, 1
    NASMX_RESERVE pEnvironment, int32_t, 1
    NASMX_RESERVE pDLLName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC NETRESOURCE
    NASMX_RESERVE dwScope, int32_t, 1
    NASMX_RESERVE dwType, int32_t, 1
    NASMX_RESERVE dwDisplayType, int32_t, 1
    NASMX_RESERVE dwUsage, int32_t, 1
    NASMX_RESERVE lpLocalName, int32_t, 1
    NASMX_RESERVE lpRemoteName, int32_t, 1
    NASMX_RESERVE lpComment, int32_t, 1
    NASMX_RESERVE lpProvider, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CRGB
    NASMX_RESERVE bRed, int8_t, 1
    NASMX_RESERVE bGreen, int8_t, 1
    NASMX_RESERVE bBlue, int8_t, 1
    NASMX_RESERVE bExtra, int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SERVICE_STATUS
    NASMX_RESERVE dwServiceType, int32_t, 1
    NASMX_RESERVE dwCurrentState, int32_t, 1
    NASMX_RESERVE dwControlsAccepted, int32_t, 1
    NASMX_RESERVE dwWin32ExitCode, int32_t, 1
    NASMX_RESERVE dwServiceSpecificExitCode, int32_t, 1
    NASMX_RESERVE dwCheckPoint, int32_t, 1
    NASMX_RESERVE dwWaitHint, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ENUM_SERVICE_STATUS
    NASMX_RESERVE lpServiceName, int32_t, 1
    NASMX_RESERVE lpDisplayName, int32_t, 1
    NASMX_RESERVE ServiceStatus, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC QUERY_SERVICE_LOCK_STATUS
    NASMX_RESERVE fIsLocked, int32_t, 1
    NASMX_RESERVE lpLockOwner, int32_t, 1
    NASMX_RESERVE dwLockDuration, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC QUERY_SERVICE_CONFIG
    NASMX_RESERVE dwServiceType, int32_t, 1
    NASMX_RESERVE dwStartType, int32_t, 1
    NASMX_RESERVE dwErrorControl, int32_t, 1
    NASMX_RESERVE lpBinaryPathName, int32_t, 1
    NASMX_RESERVE lpLoadOrderGroup, int32_t, 1
    NASMX_RESERVE dwTagId, int32_t, 1
    NASMX_RESERVE lpDependencies, int32_t, 1
    NASMX_RESERVE lpServiceStartName, int32_t, 1
    NASMX_RESERVE lpDisplayName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SERVICE_TABLE_ENTRY
    NASMX_RESERVE lpServiceName, int32_t, 1
    NASMX_RESERVE lpServiceProc, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LARGE_INTEGER
    NASMX_RESERVE lowpart, int32_t, 1
    NASMX_RESERVE highpart, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PERF_DATA_BLOCK
    NASMX_RESERVE Signature, int8_t, 4
    NASMX_RESERVE LittleEndian, int32_t, 1
    NASMX_RESERVE Version, int32_t, 1
    NASMX_RESERVE Revision, int32_t, 1
    NASMX_RESERVE TotalByteiLength, int32_t, 1
    NASMX_RESERVE HeaderiLength, int32_t, 1
    NASMX_RESERVE NumObjectTypes, int32_t, 1
    NASMX_RESERVE DefaultObject, int32_t, 1
    NASMX_RESERVE SystemTime, int32_t, 1
    NASMX_RESERVE PerfTime, int32_t, 1
    NASMX_RESERVE PerfFreq, int32_t, 1
    NASMX_RESERVE PerTime100nSec, int32_t, 1
    NASMX_RESERVE SystemNameiLength, int32_t, 1
    NASMX_RESERVE SystemNameOffset, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PERF_OBJECT_TYPE
    NASMX_RESERVE TotalByteiLength, int32_t, 1
    NASMX_RESERVE DefinitioniLength, int32_t, 1
    NASMX_RESERVE HeaderiLength, int32_t, 1
    NASMX_RESERVE ObjectNameTitleIndex, int32_t, 1
    NASMX_RESERVE ObjectNameTitle, int32_t, 1
    NASMX_RESERVE ObjectHelpTitleIndex, int32_t, 1
    NASMX_RESERVE ObjectHelpTitle, int32_t, 1
    NASMX_RESERVE DetailLevel, int32_t, 1
    NASMX_RESERVE NumCounters, int32_t, 1
    NASMX_RESERVE DefaultCounter, int32_t, 1
    NASMX_RESERVE NumInstances, int32_t, 1
    NASMX_RESERVE CodePage, int32_t, 1
    NASMX_RESERVE PerfTime, int32_t, 1
    NASMX_RESERVE PerfFreq, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PERF_COUNTER_DEFINITION
    NASMX_RESERVE ByteiLength, int32_t, 1
    NASMX_RESERVE CounterNameTitleIndex, int32_t, 1
    NASMX_RESERVE CounterNameTitle, int32_t, 1
    NASMX_RESERVE CounterHelpTitleIndex, int32_t, 1
    NASMX_RESERVE CounterHelpTitle, int32_t, 1
    NASMX_RESERVE DefaultScale, int32_t, 1
    NASMX_RESERVE DetailLevel, int32_t, 1
    NASMX_RESERVE CounterType, int32_t, 1
    NASMX_RESERVE CounterSize, int32_t, 1
    NASMX_RESERVE CounterOffset, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PERF_INSTANCE_DEFINITION
    NASMX_RESERVE ByteiLength, int32_t, 1
    NASMX_RESERVE ParentObjectTitleIndex, int32_t, 1
    NASMX_RESERVE ParentObjectInstance, int32_t, 1
    NASMX_RESERVE UniqueID, int32_t, 1
    NASMX_RESERVE NameOffset, int32_t, 1
    NASMX_RESERVE NameiLength, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PERF_COUNTER_BLOCK
    NASMX_RESERVE ByteiLength, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MODEMDEVCAPS
    NASMX_RESERVE dwActualSize, int32_t, 1
    NASMX_RESERVE dwRequiredSize, int32_t, 1
    NASMX_RESERVE dwDevSpecificOffset, int32_t, 1
    NASMX_RESERVE dwDevSpecificSize, int32_t, 1
    NASMX_RESERVE dwModemProviderVersion, int32_t, 1
    NASMX_RESERVE dwModemManufacturerOffset, int32_t, 1
    NASMX_RESERVE dwModemManufacturerSize, int32_t, 1
    NASMX_RESERVE dwModemModelOffset, int32_t, 1
    NASMX_RESERVE dwModemModelSize, int32_t, 1
    NASMX_RESERVE dwModemVersionOffset, int32_t, 1
    NASMX_RESERVE dwModemVersionSize, int32_t, 1
    NASMX_RESERVE dwDialOptions, int32_t, 1
    NASMX_RESERVE dwCallSetupFailTimer, int32_t, 1
    NASMX_RESERVE dwInactivityTimeout, int32_t, 1
    NASMX_RESERVE dwSpeakerVolume, int32_t, 1
    NASMX_RESERVE dwSpeakerMode, int32_t, 1
    NASMX_RESERVE dwModemOptions, int32_t, 1
    NASMX_RESERVE dwMaxDTERate, int32_t, 1
    NASMX_RESERVE dwMaxDCERate, int32_t, 1
    NASMX_RESERVE abVariablePortion, int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MODEMSETTINGS
    NASMX_RESERVE dwActualSize, int32_t, 1
    NASMX_RESERVE dwRequiredSize, int32_t, 1
    NASMX_RESERVE dwDevSpecificOffset, int32_t, 1
    NASMX_RESERVE dwDevSpecificSize, int32_t, 1
    NASMX_RESERVE dwCallSetupFailTimer, int32_t, 1
    NASMX_RESERVE dwInactivityTimeout, int32_t, 1
    NASMX_RESERVE dwSpeakerVolume, int32_t, 1
    NASMX_RESERVE dwSpeakerMode, int32_t, 1
    NASMX_RESERVE dwPreferredModemOptions, int32_t, 1
    NASMX_RESERVE dwNegotiatedModemOptions, int32_t, 1
    NASMX_RESERVE dwNegotiatedDCERate, int32_t, 1
    NASMX_RESERVE abVariablePortion, int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DRAGINFO
    NASMX_RESERVE uSize, int32_t, 1
    NASMX_STRUC pt, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE fNC, int32_t, 1
    NASMX_RESERVE lpFileList, int32_t, 1
    NASMX_RESERVE grfKeyState, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC APPBARDATA
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE hwnd, ptrdiff_t, 1
    NASMX_RESERVE uCallbackMessage, int32_t, 1
    NASMX_RESERVE uEdge, int32_t, 1
	NASMX_STRUC rc, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SHFILEOPSTRUCT
    NASMX_RESERVE hwnd,                  size_t, 1
    NASMX_RESERVE wFunc,                 int32_t, 1
    NASMX_RESERVE pFrom,                 ptrdiff_t, 1
    NASMX_RESERVE pTo,                   ptrdiff_t, 1
    NASMX_RESERVE fFlags,                short_t, 1
    NASMX_RESERVE fAnyOperationsAborted, int32_t, 1
    NASMX_RESERVE hNameMappings,         ptrdiff_t, 1
    NASMX_RESERVE lpszProgressTitle,     ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SHNAMEMAPPING
    NASMX_RESERVE pszOldPath, ptrdiff_t, 1
    NASMX_RESERVE pszNewPath, ptrdiff_t, 1
    NASMX_RESERVE cchOldPath, int32_t, 1
    NASMX_RESERVE cchNewPath, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SHELLEXECUTEINFO
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE fMask, int32_t, 1
    NASMX_RESERVE hwnd, ptrdiff_t, 1
    NASMX_RESERVE lpVerb, int32_t, 1
    NASMX_RESERVE lpFile, int32_t, 1
    NASMX_RESERVE lpParameters, int32_t, 1
    NASMX_RESERVE lpDirectory, int32_t, 1
    NASMX_RESERVE nShow, int32_t, 1
    NASMX_RESERVE hInstApp, int32_t, 1
    NASMX_RESERVE lpIDList, int32_t, 1
    NASMX_RESERVE lpClass, int32_t, 1
    NASMX_RESERVE hkeyClass, int32_t, 1
    NASMX_RESERVE dwHotKey, int32_t, 1
    NASMX_RESERVE hIcon, ptrdiff_t, 1
    NASMX_RESERVE hProcess, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC NOTIFYICONDATA
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE hwnd, ptrdiff_t, 1
    NASMX_RESERVE uID, int32_t, 1
    NASMX_RESERVE uFlags, int32_t, 1
    NASMX_RESERVE uCallbackMessage, int32_t, 1
    NASMX_RESERVE hIcon, ptrdiff_t, 1
    NASMX_RESERVE szTip, int8_t, 64
NASMX_ENDSTRUC

NASMX_STRUC SHFILEINFO
    NASMX_RESERVE hIcon,         ptrdiff_t, 1
    NASMX_RESERVE iIcon,         int32_t, 1
    NASMX_RESERVE dwAttributes,  uint32_t, 1
    NASMX_RESERVE szDisplayName, NASMX_TCHAR, MAX_PATH
    NASMX_RESERVE szTypeName,    NASMX_TCHAR, 80 
NASMX_ENDSTRUC

NASMX_STRUC VS_FIXEDFILEINFO
    NASMX_RESERVE dwSignature, int32_t, 1
    NASMX_RESERVE dwStrucVersion, int32_t, 1
    NASMX_RESERVE dwFileVersionMS, int32_t, 1
    NASMX_RESERVE dwFileVersionLS, int32_t, 1
    NASMX_RESERVE dwProductVersionMS, int32_t, 1
    NASMX_RESERVE dwProductVersionLS, int32_t, 1
    NASMX_RESERVE dwFileFlagsMask, int32_t, 1
    NASMX_RESERVE dwFileFlags, int32_t, 1
    NASMX_RESERVE dwFileOS, int32_t, 1
    NASMX_RESERVE dwFileType, int32_t, 1
    NASMX_RESERVE dwFileSubtype, int32_t, 1
    NASMX_RESERVE dwFileDateMS, int32_t, 1
    NASMX_RESERVE dwFileDateLS, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ICONMETRICS
    NASMX_RESERVE cbSize,       int32_t, 1
    NASMX_RESERVE iHorzSpacing, int32_t, 1
    NASMX_RESERVE iVertSpacing, int32_t, 1
    NASMX_RESERVE iTitleWrap,   int32_t, 1
    NASMX_STRUC lfFont, LOGFONT
        NASMX_RESERVE lfHeight,         int32_t, 1
        NASMX_RESERVE lfWidth,          int32_t, 1
        NASMX_RESERVE lfEscapement,     int32_t, 1
        NASMX_RESERVE lfOrientation,    int32_t, 1
        NASMX_RESERVE lfWeight,         int32_t, 1
        NASMX_RESERVE lfItalic,         int8_t, 1
        NASMX_RESERVE lfUnderline,      int8_t, 1
        NASMX_RESERVE lfStrikeOut,      int8_t, 1
        NASMX_RESERVE lfCharSet,        int8_t, 1
        NASMX_RESERVE lfOutPrecision,   int8_t, 1
        NASMX_RESERVE lfClipPrecision,  int8_t, 1
        NASMX_RESERVE lfQuality,        int8_t, 1
        NASMX_RESERVE lfPitchAndFamily, int8_t, 1
        NASMX_RESERVE lfFaceName,       NASMX_TCHAR, LF_FACESIZE
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC HELPINFO
    NASMX_RESERVE cbSize,       int32_t,   1
    NASMX_RESERVE iContextType, int32_t,   1
    NASMX_RESERVE iCtrlId,      int32_t,   1
    NASMX_RESERVE hItemHandle,  size_t,    1
    NASMX_RESERVE dwContextId,  ptrdiff_t, 1
    NASMX_STRUC MousePos, POINT
        NASMX_RESERVE x, int32_t, 1
        NASMX_RESERVE y, int32_t, 1
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC ANIMATIONINFO
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE iMinAnimate, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MINIMIZEDMETRICS
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE iWidth, int32_t, 1
    NASMX_RESERVE iHorzGap, int32_t, 1
    NASMX_RESERVE iVertGap, int32_t, 1
    NASMX_RESERVE iArrange, int32_t, 1
    NASMX_RESERVE lfFont, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC OSVERSIONINFO
    NASMX_RESERVE dwOSVersionInfoSize, DWORD, 1
    NASMX_RESERVE dwMajorVersion,      DWORD, 1
    NASMX_RESERVE dwMinorVersion,      DWORD, 1
    NASMX_RESERVE dwBuildNumber,       DWORD, 1
    NASMX_RESERVE dwPlatformId,        DWORD, 1
    NASMX_RESERVE szCSDVersion, NASMX_TCHAR, 128
NASMX_ENDSTRUC

NASMX_STRUC SYSTEM_POWER_STATUS
    NASMX_RESERVE ACLineStatus, int8_t, 1
    NASMX_RESERVE BatteryFlag, int8_t, 1
    NASMX_RESERVE BatteryLifePercent, int8_t, 1
    NASMX_RESERVE Reserved1, int8_t, 1
    NASMX_RESERVE BatteryLifeTime, int32_t, 1
    NASMX_RESERVE BatteryFullLifeTime, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC NMHDR
    NASMX_RESERVE hwndFrom, ptrdiff_t, 1
    NASMX_RESERVE idfrom,   size_t, 1
    NASMX_RESERVE code,     uint32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DEVNAMES
    NASMX_RESERVE wDriverOffset, short_t, 1
    NASMX_RESERVE wDeviceOffset, short_t, 1
    NASMX_RESERVE wOutputOffset, short_t, 1
    NASMX_RESERVE wDefault, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PAGESETUPDLGAPI
    NASMX_RESERVE lStructSize, int32_t, 1
    NASMX_RESERVE hwndOwner, ptrdiff_t, 1
    NASMX_RESERVE hDevMode, int32_t, 1
    NASMX_RESERVE hDevNames, int32_t, 1
    NASMX_RESERVE flags, int32_t, 1
    NASMX_STRUC ptPaperSize, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE rtMinMargin, int32_t, 1
    NASMX_RESERVE rtMargin, int32_t, 1
    NASMX_RESERVE hInstance, int32_t, 1
    NASMX_RESERVE lCustData, int32_t, 1
    NASMX_RESERVE lpfnPageSetupHook, int32_t, 1
    NASMX_RESERVE lpfnPagePaintHook, int32_t, 1
    NASMX_RESERVE lpPageSetupTemplateName, int32_t, 1
    NASMX_RESERVE hPageSetupTemplate, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC COMMCONFIG
    NASMX_RESERVE dwSize,    int32_t, 1
    NASMX_RESERVE wVersion,  short_t, 1
    NASMX_RESERVE wReserved, short_t, 1
    NASMX_STRUC dcb, DCB
        NASMX_RESERVE DCBlength,  int32_t, 1
        NASMX_RESERVE BaudRate,   int32_t, 1
        NASMX_RESERVE uFlags,     uint32_t, 1
        NASMX_RESERVE wReserved,  short_t, 1
        NASMX_RESERVE XonLim,     short_t, 1
        NASMX_RESERVE XoffLim,    short_t, 1
        NASMX_RESERVE ByteSize,   int8_t, 1
        NASMX_RESERVE Parity,     int8_t, 1
        NASMX_RESERVE StopBits,   int8_t, 1
        NASMX_RESERVE XonChar,    int8_t, 1
        NASMX_RESERVE XoffChar,   int8_t, 1
        NASMX_RESERVE ErrorChar,  int8_t, 1
        NASMX_RESERVE EofChar,    int8_t, 1
        NASMX_RESERVE EvtChar,    int8_t, 1
        NASMX_RESERVE wReserved1, short_t, 1
    NASMX_ENDSTRUC
    NASMX_RESERVE dwProviderSubType, int32_t, 1
    NASMX_RESERVE dwProviderOffset,  int32_t, 1
    NASMX_RESERVE dwProviderSize,    int32_t, 1
    NASMX_RESERVE wcProviderData,    int16_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PIXELFORMATDESCRIPTOR
    NASMX_RESERVE nSize,           short_t, 1
    NASMX_RESERVE nVersion,        short_t, 1
    NASMX_RESERVE dwFlags,         int32_t, 1
    NASMX_RESERVE iPixelType,      int8_t, 1
    NASMX_RESERVE cColorBits,      int8_t, 1
    NASMX_RESERVE cRedBits,        int8_t, 1
    NASMX_RESERVE cRedShift,       int8_t, 1
    NASMX_RESERVE cGreenBits,      int8_t, 1
    NASMX_RESERVE cGreenShift,     int8_t, 1
    NASMX_RESERVE cBlueBits,       int8_t, 1
    NASMX_RESERVE cBlueShift,      int8_t, 1
    NASMX_RESERVE cAlphaBits,      int8_t, 1
    NASMX_RESERVE cAlphaShift,     int8_t, 1
    NASMX_RESERVE cAccumBits,      int8_t, 1
    NASMX_RESERVE cAccumRedBits,   int8_t, 1
    NASMX_RESERVE cAccumGreenBits, int8_t, 1
    NASMX_RESERVE cAccumBlueBits,  int8_t, 1
    NASMX_RESERVE cAccumAlphaBits, int8_t, 1
    NASMX_RESERVE cDepthBits,      int8_t, 1
    NASMX_RESERVE cStencilBits,    int8_t, 1
    NASMX_RESERVE cAuxBuffers,     int8_t, 1
    NASMX_RESERVE iLayerType,      int8_t, 1
    NASMX_RESERVE bReserved,       int8_t, 1
    NASMX_RESERVE dwLayerMask,     int32_t, 1
    NASMX_RESERVE dwVisibleMask,   int32_t, 1
    NASMX_RESERVE dwDamageMask,    int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DRAWTEXTPARAMS
    NASMX_RESERVE cbSize,         int32_t, 1
    NASMX_RESERVE iTabiLength,    int32_t, 1
    NASMX_RESERVE iLeftMargin,    int32_t, 1
    NASMX_RESERVE iRightMargin,   int32_t, 1
    NASMX_RESERVE uiiLengthDrawn, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MENUITEMINFO
    NASMX_RESERVE cbSize,        int32_t, 1
    NASMX_RESERVE fMask,         int32_t, 1
    NASMX_RESERVE fType,         int32_t, 1
    NASMX_RESERVE fState,        int32_t, 1
    NASMX_RESERVE wID,           int32_t, 1
    NASMX_RESERVE hSubMenu,      size_t, 1
    NASMX_RESERVE hbmpChecked,   size_t, 1
    NASMX_RESERVE hbmpUnchecked, size_t, 1
    NASMX_RESERVE dwItemData,    size_t, 1
    NASMX_RESERVE dwTypeData,    size_t, 1
    NASMX_RESERVE cch,           int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC SCROLLINFO
    NASMX_RESERVE cbSize,    int32_t, 1
    NASMX_RESERVE fMask,     int32_t, 1
    NASMX_RESERVE nMin,      int32_t, 1
    NASMX_RESERVE nMax,      int32_t, 1
    NASMX_RESERVE nPage,     int32_t, 1
    NASMX_RESERVE nPos,      int32_t, 1
    NASMX_RESERVE nTrackPos, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MSGBOXPARAMS
    NASMX_RESERVE cbSize,             int32_t, 1
    NASMX_RESERVE hwndOwner,          ptrdiff_t, 1
    NASMX_RESERVE hInstance,          int32_t, 1
    NASMX_RESERVE lpszText,           ptrdiff_t, 1
    NASMX_RESERVE lpszCaption,        ptrdiff_t, 1
    NASMX_RESERVE dwStyle,            int32_t, 1
    NASMX_RESERVE lpszIcon,           ptrdiff_t, 1
    NASMX_RESERVE dwContextHelpId,    int32_t, 1
    NASMX_RESERVE lpfnMsgBoxCallback, int32_t, 1
    NASMX_RESERVE dwLanguageId,       int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DEBUG_EVENT
    NASMX_RESERVE dwDebugEventCode, int32_t, 1
    NASMX_RESERVE dwProcessId,      int32_t, 1
    NASMX_RESERVE dwThreadId,       int32_t, 1
    NASMX_UNION u
        NASMX_STRUC Exception, EXCEPTION_DEBUG_INFO
            NASMX_STRUC ExceptionRecord, EXCEPTION_RECORD
                NASMX_RESERVE ExceptionCode,        uint32_t, 1
                NASMX_RESERVE ExceptionFlags,       uint32_t, 1
                NASMX_RESERVE pExceptionRecord,     ptrdiff_t, 1
                NASMX_RESERVE ExceptionAddress,     ptrdiff_t, 1
                NASMX_RESERVE NumberParameters,     uint32_t, 1
                NASMX_RESERVE ExceptionInformation, size_t, EXCEPTION_MAXIMUM_PARAMETERS
            NASMX_ENDSTRUC
            NASMX_RESERVE dwFirstChance, uint32_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC CreateThread, CREATE_THREAD_DEBUG_INFO
            NASMX_RESERVE hThread,           ptrdiff_t, 1
            NASMX_RESERVE lpThreadLocalBase, ptrdiff_t, 1
            NASMX_RESERVE lpStartAddress,    ptrdiff_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC CreateProcessInfo, CREATE_PROCESS_DEBUG_INFO
            NASMX_RESERVE hFile,             ptrdiff_t, 1
            NASMX_RESERVE hProcess,          ptrdiff_t, 1
            NASMX_RESERVE hThread,           ptrdiff_t, 1
            NASMX_RESERVE lpBaseOfImage,     ptrdiff_t, 1
            NASMX_RESERVE dwDebugInfoFileOffset, uint32_t, 1
            NASMX_RESERVE nDebugInfoSize,    uint32_t, 1
            NASMX_RESERVE lpThreadLocalBase, ptrdiff_t, 1
            NASMX_RESERVE lpStartAddress,    ptrdiff_t, 1
            NASMX_RESERVE lpImageName,       ptrdiff_t, 1
            NASMX_RESERVE fUnicode,          uint16_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC ExitThread, EXIT_THREAD_DEBUG_INFO
            NASMX_RESERVE dwExitCode, uint32_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC ExitProcess, EXIT_PROCESS_DEBUG_INFO
            NASMX_RESERVE dwExitCode, uint32_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC LoadDll, LOAD_DLL_DEBUG_INFO
            NASMX_RESERVE hFile,                 ptrdiff_t, 1
            NASMX_RESERVE lpBaseOfDll,           ptrdiff_t, 1
            NASMX_RESERVE dwDebugInfoFileOffset, uint32_t, 1
            NASMX_RESERVE nDebugInfoSize,        uint32_t, 1
            NASMX_RESERVE lpImageName,           ptrdiff_t, 1
            NASMX_RESERVE fUnicode,              uint16_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC UnloadDll, UNLOAD_DLL_DEBUG_INFO
            NASMX_RESERVE lpBaseOfDll, ptrdiff_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC DebugString, OUTPUT_DEBUG_STRING_INFO
            NASMX_RESERVE lpDebugStringData,   ptrdiff_t, 1
            NASMX_RESERVE fUnicode,            uint16_t, 1
            NASMX_RESERVE nDebugStringLength,  uint16_t, 1
        NASMX_ENDSTRUC
        NASMX_STRUC RipInfo, RIP_INFO
            NASMX_RESERVE dwError, uint32_t, 1
            NASMX_RESERVE dwType,  uint32_t, 1
        NASMX_ENDSTRUC
    NASMX_ENDUNION
NASMX_ENDSTRUC

NASMX_STRUC COLORMAP
    NASMX_RESERVE cmFrom, int32_t, 1
    NASMX_RESERVE cmTo, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC AuxVol
    NASMX_RESERVE vLow, short_t, 1
    NASMX_RESERVE vHigh, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DBGTHREAD
    NASMX_RESERVE hThread, ptrdiff_t, 1
    NASMX_RESERVE lpStartAddress, ptrdiff_t, 1
    NASMX_RESERVE bfState, int32_t, 1
    NASMX_RESERVE nNext, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DbgProcess
    NASMX_RESERVE hDbgHeap, int32_t, 1
    NASMX_RESERVE dwProcessID, int32_t, 1
    NASMX_RESERVE dwThreadID, int32_t, 1
    NASMX_RESERVE hProcess, int32_t, 1
    NASMX_RESERVE hFile, int32_t, 1
    NASMX_RESERVE lpImage, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC IMAGE_DATA_DIRECTORY
    NASMX_RESERVE VirtualAddress, int32_t, 1
    NASMX_RESERVE isize, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC IMAGE_FILE_HEADER
    NASMX_RESERVE Machine,              short_t, 1
    NASMX_RESERVE NumberOfSections,     short_t, 1
    NASMX_RESERVE TimeDateStamp,        int32_t, 1
    NASMX_RESERVE PointerToSymbolTable, int32_t, 1
    NASMX_RESERVE NumberOfSymbols,      int32_t, 1
    NASMX_RESERVE SizeOfOptionalHeader, short_t, 1
    NASMX_RESERVE Characteristics,      short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC IMAGE_OPTIONAL_HEADER
    NASMX_RESERVE Magic,                       WORD, 1
    NASMX_RESERVE MajorLinkerVersion,          BYTE, 1
    NASMX_RESERVE MinorLinkerVersion,          BYTE, 1
    NASMX_RESERVE SizeOfCode,                  DWORD, 1
    NASMX_RESERVE SizeOfInitializedData,       DWORD, 1
    NASMX_RESERVE SizeOfUninitializedData,     DWORD, 1
    NASMX_RESERVE AddressOfEntryPoint,         DWORD, 1
    NASMX_RESERVE BaseOfCode,                  DWORD, 1
    NASMX_RESERVE BaseOfData,                  DWORD, 1
    NASMX_RESERVE ImageBase,                   DWORD, 1
    NASMX_RESERVE SectionAlignment,            DWORD, 1
    NASMX_RESERVE FileAlignment,               DWORD, 1
    NASMX_RESERVE MajorOperatingSystemVersion, WORD, 1
    NASMX_RESERVE MinorOperatingSystemVersion, WORD, 1
    NASMX_RESERVE MajorImageVersion,           WORD, 1
    NASMX_RESERVE MinorImageVersion,           WORD, 1
    NASMX_RESERVE MajorSubsystemVersion,       WORD, 1
    NASMX_RESERVE MinorSubsystemVersion,       WORD, 1
    NASMX_RESERVE Win32VersionValue,           DWORD, 1
    NASMX_RESERVE SizeOfImage,                 DWORD, 1
    NASMX_RESERVE SizeOfHeaders,               DWORD, 1
    NASMX_RESERVE CheckSum,                    DWORD, 1
    NASMX_RESERVE Subsystem,                   WORD, 1
    NASMX_RESERVE DllCharacteristics,          WORD, 1
    NASMX_RESERVE SizeOfStackReserve,          DWORD, 1
    NASMX_RESERVE SizeOfStackCommit,           DWORD, 1
    NASMX_RESERVE SizeOfHeapReserve,           DWORD, 1
    NASMX_RESERVE SizeOfHeapCommit,            DWORD, 1
    NASMX_RESERVE LoaderFlags,                 DWORD, 1
    NASMX_RESERVE NumberOfRvaAndSizes,         DWORD, 1
    NASMX_RESERVE DataDirectory, IMAGE_DATA_DIRECTORY, IMAGE_NUMBEROF_DIRECTORY_ENTRIES
NASMX_ENDSTRUC

NASMX_STRUC IMAGE_NT_HEADERS
    NASMX_RESERVE Signature, int32_t, 1
    NASMX_STRUC FileHeader, IMAGE_FILE_HEADER
        NASMX_RESERVE Machine,              short_t, 1
        NASMX_RESERVE NumberOfSections,     short_t, 1
        NASMX_RESERVE TimeDateStamp,        int32_t, 1
        NASMX_RESERVE PointerToSymbolTable, int32_t, 1
        NASMX_RESERVE NumberOfSymbols,      int32_t, 1
        NASMX_RESERVE SizeOfOptionalHeader, short_t, 1
        NASMX_RESERVE Characteristics,      short_t, 1
    NASMX_ENDSTRUC
    NASMX_STRUC OptionalHeader, IMAGE_OPTIONAL_HEADER
        NASMX_RESERVE Magic,                       WORD, 1
        NASMX_RESERVE MajorLinkerVersion,          BYTE, 1
        NASMX_RESERVE MinorLinkerVersion,          BYTE, 1
        NASMX_RESERVE SizeOfCode,                  DWORD, 1
        NASMX_RESERVE SizeOfInitializedData,       DWORD, 1
        NASMX_RESERVE SizeOfUninitializedData,     DWORD, 1
        NASMX_RESERVE AddressOfEntryPoint,         DWORD, 1
        NASMX_RESERVE BaseOfCode,                  DWORD, 1
        NASMX_RESERVE BaseOfData,                  DWORD, 1
        NASMX_RESERVE ImageBase,                   DWORD, 1
        NASMX_RESERVE SectionAlignment,            DWORD, 1
        NASMX_RESERVE FileAlignment,               DWORD, 1
        NASMX_RESERVE MajorOperatingSystemVersion, WORD, 1
        NASMX_RESERVE MinorOperatingSystemVersion, WORD, 1
        NASMX_RESERVE MajorImageVersion,           WORD, 1
        NASMX_RESERVE MinorImageVersion,           WORD, 1
        NASMX_RESERVE MajorSubsystemVersion,       WORD, 1
        NASMX_RESERVE MinorSubsystemVersion,       WORD, 1
        NASMX_RESERVE Win32VersionValue,           DWORD, 1
        NASMX_RESERVE SizeOfImage,                 DWORD, 1
        NASMX_RESERVE SizeOfHeaders,               DWORD, 1
        NASMX_RESERVE CheckSum,                    DWORD, 1
        NASMX_RESERVE Subsystem,                   WORD, 1
        NASMX_RESERVE DllCharacteristics,          WORD, 1
        NASMX_RESERVE SizeOfStackReserve,          DWORD, 1
        NASMX_RESERVE SizeOfStackCommit,           DWORD, 1
        NASMX_RESERVE SizeOfHeapReserve,           DWORD, 1
        NASMX_RESERVE SizeOfHeapCommit,            DWORD, 1
        NASMX_RESERVE LoaderFlags,                 DWORD, 1
        NASMX_RESERVE NumberOfRvaAndSizes,         DWORD, 1
        NASMX_RESERVE DataDirectory, IMAGE_DATA_DIRECTORY, IMAGE_NUMBEROF_DIRECTORY_ENTRIES
    NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC IMAGE_EXPORT_DIRECTORY
    NASMX_RESERVE Characteristics, int32_t, 1
    NASMX_RESERVE TimeDateStamp, int32_t, 1
    NASMX_RESERVE MajorVersion, short_t, 1
    NASMX_RESERVE MinorVersion, short_t, 1
    NASMX_RESERVE nName, int32_t, 1
    NASMX_RESERVE nBase, int32_t, 1
    NASMX_RESERVE NumberOfFunctions, int32_t, 1
    NASMX_RESERVE NumberOfNames, int32_t, 1
    NASMX_RESERVE AddressOfFunctions, int32_t, 1
    NASMX_RESERVE AddressOfNames, int32_t, 1
    NASMX_RESERVE AddressOfNameOrdinals, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC IMAGE_DOS_HEADER
    NASMX_RESERVE e_magic,    short_t, 1
    NASMX_RESERVE e_cblp,     short_t, 1
    NASMX_RESERVE e_cp,       short_t, 1
    NASMX_RESERVE e_crlc,     short_t, 1
    NASMX_RESERVE e_cparhdr,  short_t, 1
    NASMX_RESERVE e_minalloc, short_t, 1
    NASMX_RESERVE e_maxalloc, short_t, 1
    NASMX_RESERVE e_ss,       short_t, 1
    NASMX_RESERVE e_sp,       short_t, 1
    NASMX_RESERVE e_csum,     short_t, 1
    NASMX_RESERVE e_ip,       short_t, 1
    NASMX_RESERVE e_cs,       short_t, 1
    NASMX_RESERVE e_lfarlc,   short_t, 1
    NASMX_RESERVE e_ovno,     short_t, 1
    NASMX_RESERVE e_res4,     short_t, 4
    NASMX_RESERVE e_oemid,    short_t, 1
    NASMX_RESERVE e_oeminfo,  short_t, 1
    NASMX_RESERVE e_res2,     short_t, 10
    NASMX_RESERVE e_lfanew,   int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC USER_INFO_3
    NASMX_RESERVE uName, int32_t, 1
    NASMX_RESERVE Password, int32_t, 1
    NASMX_RESERVE PasswordAge, int32_t, 1
    NASMX_RESERVE Privilege, int32_t, 1
    NASMX_RESERVE HomeDir, int32_t, 1
    NASMX_RESERVE Comment, int32_t, 1
    NASMX_RESERVE Flags, int32_t, 1
    NASMX_RESERVE ScriptPath, int32_t, 1
    NASMX_RESERVE AuthFlags, int32_t, 1
    NASMX_RESERVE FullName, int32_t, 1
    NASMX_RESERVE UserComment, int32_t, 1
    NASMX_RESERVE Parms, int32_t, 1
    NASMX_RESERVE Workstations, int32_t, 1
    NASMX_RESERVE LastLogon, int32_t, 1
    NASMX_RESERVE LastLogoff, int32_t, 1
    NASMX_RESERVE AcctExpires, int32_t, 1
    NASMX_RESERVE MaxStorage, int32_t, 1
    NASMX_RESERVE UnitsPerWeek, int32_t, 1
    NASMX_RESERVE LogonHours, int32_t, 1
    NASMX_RESERVE BadPwCount, int32_t, 1
    NASMX_RESERVE NumLogons, int32_t, 1
    NASMX_RESERVE LogonServer, int32_t, 1
    NASMX_RESERVE CountryCode, int32_t, 1
    NASMX_RESERVE CodePage, int32_t, 1
    NASMX_RESERVE UserID, int32_t, 1
    NASMX_RESERVE PrimaryGroupID, int32_t, 1
    NASMX_RESERVE Profile, int32_t, 1
    NASMX_RESERVE HomeDirDrive, int32_t, 1
    NASMX_RESERVE PasswordExpired, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC GROUP_INFO_2
    NASMX_RESERVE uName, int32_t, 1
    NASMX_RESERVE Comment, int32_t, 1
    NASMX_RESERVE GroupID, int32_t, 1
    NASMX_RESERVE Attributes, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC INIT_COMMON_CONTROLSEX
    NASMX_RESERVE dwSize, int32_t, 1
    NASMX_RESERVE dwICC, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC REBARINFO
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE fMask, int32_t, 1
    NASMX_RESERVE himl, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC REBARBANDINFO
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE fMask, int32_t, 1
    NASMX_RESERVE fStyle, int32_t, 1
    NASMX_RESERVE clrFore, int32_t, 1
    NASMX_RESERVE clrBack, int32_t, 1
    NASMX_RESERVE lpText, int32_t, 1
    NASMX_RESERVE cch, int32_t, 1
    NASMX_RESERVE iImage, int32_t, 1
    NASMX_RESERVE hwndChild, ptrdiff_t, 1
    NASMX_RESERVE cxMinChild, int32_t, 1
    NASMX_RESERVE cyMinChild, int32_t, 1
    NASMX_RESERVE lx, int32_t, 1
    NASMX_RESERVE hbmBack, int32_t, 1
    NASMX_RESERVE wID, int32_t, 1
    NASMX_RESERVE cyChild, int32_t, 1
    NASMX_RESERVE cyMaxChild, int32_t, 1
    NASMX_RESERVE cyIntegral, int32_t, 1
    NASMX_RESERVE cxIdeal, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
    NASMX_RESERVE cxHeader, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC NMREBARCHILDSIZE
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE uBand, int32_t, 1
    NASMX_RESERVE wID, int32_t, 1
	NASMX_STRUC rcChild, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rcBand, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC NMREBAR
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE dwMask, int32_t, 1
    NASMX_RESERVE uBand, int32_t, 1
    NASMX_RESERVE fStyle, int32_t, 1
    NASMX_RESERVE wID, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC NMRBAUTOSIZE
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE fChanged, int32_t, 1
	NASMX_STRUC rcTarget, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rcActual, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC RB_HITTESTINFO
    NASMX_STRUC pt, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE flags, int32_t, 1
    NASMX_RESERVE iBand, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC IMAGEINFO
    NASMX_RESERVE hbmImage, int32_t, 1
    NASMX_RESERVE hbmMask, int32_t, 1
    NASMX_RESERVE Unused1, int32_t, 1
    NASMX_RESERVE Unused2, int32_t, 1
	NASMX_STRUC rcImage, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC HD_ITEM
    NASMX_RESERVE imask, int32_t, 1
    NASMX_RESERVE lxy, int32_t, 1
    NASMX_RESERVE pszText, ptrdiff_t, 1
    NASMX_RESERVE hbm, int32_t, 1
    NASMX_RESERVE cchTextMax, int32_t, 1
    NASMX_RESERVE fmt, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC HD_LAYOUT
    NASMX_RESERVE prc, int32_t, 1
    NASMX_RESERVE pwpos, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC HD_HITTESTINFO
    NASMX_STRUC pt, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE flags, int32_t, 1
    NASMX_RESERVE iItem, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC HD_NOTIFY
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iItem, int32_t, 1
    NASMX_RESERVE iButton, int32_t, 1
    NASMX_RESERVE pitem, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TBBUTTON
    NASMX_RESERVE iBitmap, int32_t, 1
    NASMX_RESERVE idCommand, int32_t, 1
    NASMX_RESERVE fsState, int8_t, 1
    NASMX_RESERVE fsStyle, int8_t, 1
    NASMX_RESERVE dwData, int32_t, 1
    NASMX_RESERVE iString, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ColorMap
    NASMX_RESERVE cmFrom, int32_t, 1
    NASMX_RESERVE cmTo, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TBADDBITMAP
    NASMX_RESERVE hInst, int32_t, 1
    NASMX_RESERVE nId, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TBSAVEPARAMS
    NASMX_RESERVE hkr, int32_t, 1
    NASMX_RESERVE pszSubKey, ptrdiff_t, 1
    NASMX_RESERVE pszValueName, ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TBREPLACEBITMAP
    NASMX_RESERVE hInstOld, int32_t, 1
    NASMX_RESERVE nIdOld, int32_t, 1
    NASMX_RESERVE hInstNew, int32_t, 1
    NASMX_RESERVE nIdNew, int32_t, 1
    NASMX_RESERVE nButtons, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TBNOTIFY
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iItem, int32_t, 1
	NASMX_STRUC tbButton, TBBUTTON
		NASMX_RESERVE iBitmap, int32_t, 1
		NASMX_RESERVE idCommand, int32_t, 1
		NASMX_RESERVE fsState, int8_t, 1
		NASMX_RESERVE fsStyle, int8_t, 1
		NASMX_RESERVE dwData, int32_t, 1
		NASMX_RESERVE iString, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cchText, int32_t, 1
    NASMX_RESERVE pszText, ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TOOLINFO
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE uFlags, int32_t, 1
    NASMX_RESERVE hWnd, ptrdiff_t, 1
    NASMX_RESERVE uId, int32_t, 1
	NASMX_STRUC rect, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE hInst, size_t, 1
    NASMX_RESERVE lpszText, ptrdiff_t, 1
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TT_HITTESTINFO
    NASMX_RESERVE hWnd, ptrdiff_t, 1
    NASMX_STRUC pt, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC ti, TOOLINFO
		NASMX_RESERVE cbSize, int32_t, 1
		NASMX_RESERVE uFlags, int32_t, 1
		NASMX_RESERVE hWnd, ptrdiff_t, 1
		NASMX_RESERVE uId, int32_t, 1
		NASMX_STRUC rect, RECT
			NASMX_RESERVE left, int32_t, 1
			NASMX_RESERVE top, int32_t, 1
			NASMX_RESERVE right, int32_t, 1
			NASMX_RESERVE bottom, int32_t, 1
		NASMX_ENDSTRUC
		NASMX_RESERVE hInst, size_t, 1
		NASMX_RESERVE lpszText, ptrdiff_t, 1
		NASMX_RESERVE lParam, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC TOOLTIPTEXT
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE lpszText, ptrdiff_t, 1
    NASMX_RESERVE szText, int8_t, 80
    NASMX_RESERVE hInst, int32_t, 1
    NASMX_RESERVE uFlags, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC DRAGLISTINFO
    NASMX_RESERVE uNotification, int32_t, 1
    NASMX_RESERVE hWnd, ptrdiff_t, 1
    NASMX_STRUC ptCursor, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC UDACCEL
    NASMX_RESERVE nSec, int32_t, 1
    NASMX_RESERVE nInc, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC NM_UPDOWN
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iPos, int32_t, 1
    NASMX_RESERVE iDelta, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LV_ITEM
    NASMX_RESERVE imask, int32_t, 1
    NASMX_RESERVE iItem, int32_t, 1
    NASMX_RESERVE iSubItem, int32_t, 1
    NASMX_RESERVE state, int32_t, 1
    NASMX_RESERVE stateMask, int32_t, 1
    NASMX_RESERVE pszText, ptrdiff_t, 1
    NASMX_RESERVE cchTextMax, int32_t, 1
    NASMX_RESERVE iImage, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LV_FINDINFO
    NASMX_RESERVE flags, int32_t, 1
    NASMX_RESERVE psz, ptrdiff_t, 1
    NASMX_RESERVE lParam, int32_t, 1
    NASMX_STRUC pt, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE vkDirection, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LV_HITTESTINFO
    NASMX_STRUC pt, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE flags, int32_t, 1
    NASMX_RESERVE iItem, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LV_COLUMN
    NASMX_RESERVE imask,      uint32_t, 1
    NASMX_RESERVE fmt,        int32_t, 1
    NASMX_RESERVE lx,         int32_t, 1
    NASMX_RESERVE pszText,    ptrdiff_t, 1
    NASMX_RESERVE cchTextMax, int32_t, 1
    NASMX_RESERVE iSubItem,   int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC NM_LISTVIEW
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iItem, int32_t, 1
    NASMX_RESERVE iSubItem, int32_t, 1
    NASMX_RESERVE uNewState, int32_t, 1
    NASMX_RESERVE uOldState, int32_t, 1
    NASMX_RESERVE uChanged, int32_t, 1
    NASMX_STRUC ptAction, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LV_DISPINFO
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE item, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC LV_KEYDOWN
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE wVKey, short_t, 1
    NASMX_RESERVE flags, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TREEITEM
    NASMX_RESERVE dummy, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TV_ITEM
    NASMX_RESERVE imask, int32_t, 1
    NASMX_RESERVE hItem, int32_t, 1
    NASMX_RESERVE state, int32_t, 1
    NASMX_RESERVE stateMask, int32_t, 1
    NASMX_RESERVE pszText, ptrdiff_t, 1
    NASMX_RESERVE cchTextMax, int32_t, 1
    NASMX_RESERVE iImage, int32_t, 1
    NASMX_RESERVE iSelectedImage, int32_t, 1
    NASMX_RESERVE cChildren, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TV_INSERTSTRUCT
    NASMX_RESERVE hParent, int32_t, 1
    NASMX_RESERVE hInsertAfter, int32_t, 1
    NASMX_RESERVE item, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TV_HITTESTINFO
    NASMX_STRUC pt, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE flags, int32_t, 1
    NASMX_RESERVE hItem, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TV_SORTCB
    NASMX_RESERVE hParent, int32_t, 1
    NASMX_RESERVE lpfnCompare, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC NM_TREEVIEW
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE action, int32_t, 1
    NASMX_RESERVE itemOld, int32_t, 1
    NASMX_RESERVE itemNew, int32_t, 1
    NASMX_STRUC ptDrag, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC TV_DISPINFO
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE item, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TV_KEYDOWN
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE wVKey, short_t, 1
    NASMX_RESERVE flags, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TC_ITEMHEADER
    NASMX_RESERVE imask, int32_t, 1
    NASMX_RESERVE lpReserved1, int32_t, 1
    NASMX_RESERVE lpReserved2, int32_t, 1
    NASMX_RESERVE pszText, ptrdiff_t, 1
    NASMX_RESERVE cchTextMax, int32_t, 1
    NASMX_RESERVE iImage, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TC_ITEM
    NASMX_RESERVE imask, int32_t, 1
    NASMX_RESERVE lpReserved1, int32_t, 1
    NASMX_RESERVE lpReserved2, int32_t, 1
    NASMX_RESERVE pszText, ptrdiff_t, 1
    NASMX_RESERVE cchTextMax, int32_t, 1
    NASMX_RESERVE iImage, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TC_HITTESTINFO
    NASMX_STRUC pt, POINT
		NASMX_RESERVE x, int32_t, 1
		NASMX_RESERVE y, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE flags, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TC_KEYDOWN
	NASMX_STRUC hdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE wVKey, short_t, 1
    NASMX_RESERVE flags, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CHOOSECOLORAPI
    NASMX_RESERVE lStructSize, int32_t, 1
    NASMX_RESERVE hwndOwner, ptrdiff_t, 1
    NASMX_RESERVE hInstance, int32_t, 1
    NASMX_RESERVE rgbResult, int32_t, 1
    NASMX_RESERVE lpCustColors, int32_t, 1
    NASMX_RESERVE Flags, int32_t, 1
    NASMX_RESERVE lCustData, int32_t, 1
    NASMX_RESERVE lpfnHook, int32_t, 1
    NASMX_RESERVE lpTemplateName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC FINDREPLACE
    NASMX_RESERVE lStructSize, int32_t, 1
    NASMX_RESERVE hWndOwner, ptrdiff_t, 1
    NASMX_RESERVE hInstance, int32_t, 1
    NASMX_RESERVE Flags, int32_t, 1
    NASMX_RESERVE lpstrFindWhat, int32_t, 1
    NASMX_RESERVE lpstrReplaceWith, int32_t, 1
    NASMX_RESERVE wFindWhatLen, short_t, 1
    NASMX_RESERVE wReplaceWithLen, short_t, 1
    NASMX_RESERVE lCustData, int32_t, 1
    NASMX_RESERVE lpfnHook, int32_t, 1
    NASMX_RESERVE lpTemplateName, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CHOOSEFONTAPI
    NASMX_RESERVE lStructSize, int32_t, 1
    NASMX_RESERVE hWndOwner, ptrdiff_t, 1
    NASMX_RESERVE hDC, int32_t, 1
    NASMX_RESERVE lpLogFont, int32_t, 1
    NASMX_RESERVE iPointSize, int32_t, 1
    NASMX_RESERVE Flags, int32_t, 1
    NASMX_RESERVE rgbColors, int32_t, 1
    NASMX_RESERVE lCustData, int32_t, 1
    NASMX_RESERVE lpfnHook, int32_t, 1
    NASMX_RESERVE lpTemplateName, int32_t, 1
    NASMX_RESERVE hInstance, int32_t, 1
    NASMX_RESERVE lpszStyle, ptrdiff_t, 1
    NASMX_RESERVE nFontType, short_t, 1
    NASMX_RESERVE Alignment, short_t, 1
    NASMX_RESERVE nSizeMin, int32_t, 1
    NASMX_RESERVE nSizeMax, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PRINTDLGAPI
    NASMX_RESERVE lStructSize, int32_t, 1
    NASMX_RESERVE hWndOwner, ptrdiff_t, 1
    NASMX_RESERVE hDevMode, int32_t, 1
    NASMX_RESERVE hDevNames, int32_t, 1
    NASMX_RESERVE hDC, int32_t, 1
    NASMX_RESERVE Flags, int32_t, 1
    NASMX_RESERVE nFromPage, short_t, 1
    NASMX_RESERVE nToPage, short_t, 1
    NASMX_RESERVE nMinPage, short_t, 1
    NASMX_RESERVE nMaxPage, short_t, 1
    NASMX_RESERVE nCopies, short_t, 1
    NASMX_RESERVE hInstance, int32_t, 1
    NASMX_RESERVE lCustData, int32_t, 1
    NASMX_RESERVE lpfnPrintHook, int32_t, 1
    NASMX_RESERVE lpfnSetupHook, int32_t, 1
    NASMX_RESERVE lpPrintTemplateName, int32_t, 1
    NASMX_RESERVE lpPrintSetupTemplateName, int32_t, 1
    NASMX_RESERVE hPrintTemplate, int32_t, 1
    NASMX_RESERVE hSetupTemplate, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC OPENFILENAME
    NASMX_RESERVE lStructSize,       int32_t, 1
    NASMX_RESERVE hWndOwner,         size_t, 1
    NASMX_RESERVE hInstance,         size_t, 1
    NASMX_RESERVE lpstrFilter,       ptrdiff_t, 1
    NASMX_RESERVE lpstrCustomFilter, ptrdiff_t, 1
    NASMX_RESERVE nMaxCustFilter,    int32_t, 1
    NASMX_RESERVE nFilterIndex,      int32_t, 1
    NASMX_RESERVE lpstrFile,         ptrdiff_t, 1
    NASMX_RESERVE nMaxFile,          int32_t, 1
    NASMX_RESERVE lpstrFileTitle,    ptrdiff_t, 1
    NASMX_RESERVE nMaxFileTitle,     int32_t, 1
    NASMX_RESERVE lpstrInitialDir,   ptrdiff_t, 1
    NASMX_RESERVE lpstrTitle,        ptrdiff_t, 1
    NASMX_RESERVE Flags,             int32_t, 1
    NASMX_RESERVE nFileOffset,       short_t, 1
    NASMX_RESERVE nFileExtension,    short_t, 1
    NASMX_RESERVE lpstrDefExt,       ptrdiff_t, 1
    NASMX_RESERVE lCustData,         size_t, 1
    NASMX_RESERVE lpfnHook,          ptrdiff_t, 1
    NASMX_RESERVE lpTemplateName,    ptrdiff_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CHARFORMAT
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE dwMask, int32_t, 1
    NASMX_RESERVE dwEffects, int32_t, 1
    NASMX_RESERVE yHeight, int32_t, 1
    NASMX_RESERVE yOffset, int32_t, 1
    NASMX_RESERVE crTextColor, int32_t, 1
    NASMX_RESERVE bCharSet, int8_t, 1
    NASMX_RESERVE bPitchAndFamily, int8_t, 1
    NASMX_RESERVE szFaceName, int8_t, 1
NASMX_ENDSTRUC

NASMX_STRUC CHARRANGE
    NASMX_RESERVE cpMin, int32_t, 1
    NASMX_RESERVE cpMax, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC TEXTRANGE
	NASMX_STRUC chrg, CHARRANGE
		NASMX_RESERVE cpMin, int32_t, 1
		NASMX_RESERVE cpMax, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE lpstrText, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC EDITSTREAM
    NASMX_RESERVE dwCookie, int32_t, 1
    NASMX_RESERVE dwError, int32_t, 1
    NASMX_RESERVE pfnCallback, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC FINDTEXT
	NASMX_STRUC chrg, CHARRANGE
		NASMX_RESERVE cpMin, int32_t, 1
		NASMX_RESERVE cpMax, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE lpstrText, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC FINDTEXTEX
	NASMX_STRUC chrg, CHARRANGE
		NASMX_RESERVE cpMin, int32_t, 1
		NASMX_RESERVE cpMax, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE lpstrText, int32_t, 1
	NASMX_STRUC chrgText, CHARRANGE
		NASMX_RESERVE cpMin, int32_t, 1
		NASMX_RESERVE cpMax, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC FORMATRANGE
    NASMX_RESERVE hdc, int32_t, 1
    NASMX_RESERVE hdcTarget, int32_t, 1
	NASMX_STRUC rc, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rcPage, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC chrg, CHARRANGE
		NASMX_RESERVE cpMin, int32_t, 1
		NASMX_RESERVE cpMax, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC PARAFORMAT
    NASMX_RESERVE cbSize, int32_t, 1
    NASMX_RESERVE dwMask, int32_t, 1
    NASMX_RESERVE wNumbering, short_t, 1
    NASMX_RESERVE wReserved, short_t, 1
    NASMX_RESERVE dxStartIndent, int32_t, 1
    NASMX_RESERVE dxRightIndent, int32_t, 1
    NASMX_RESERVE dxOffset, int32_t, 1
    NASMX_RESERVE wAlignment, short_t, 1
    NASMX_RESERVE cTabCount, short_t, 1
    NASMX_RESERVE rgxTabs, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC MSGFILTER
	NASMX_STRUC nmhdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE msg, int32_t, 1
    NASMX_RESERVE wParam, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC REQRESIZE
	NASMX_STRUC nmhdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC rc, RECT
		NASMX_RESERVE left, int32_t, 1
		NASMX_RESERVE top, int32_t, 1
		NASMX_RESERVE right, int32_t, 1
		NASMX_RESERVE bottom, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC SELCHANGE
	NASMX_STRUC nmhdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC chrg, CHARRANGE
		NASMX_RESERVE cpMin, int32_t, 1
		NASMX_RESERVE cpMax, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE seltyp, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ENDROPFILES
	NASMX_STRUC nmhdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE hDrop, int32_t, 1
    NASMX_RESERVE cp, int32_t, 1
    NASMX_RESERVE fProtected, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ENPROTECTED
	NASMX_STRUC nmhdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE msg, int32_t, 1
    NASMX_RESERVE wParam, int32_t, 1
    NASMX_RESERVE lParam, int32_t, 1
	NASMX_STRUC chrg, CHARRANGE
		NASMX_RESERVE cpMin, int32_t, 1
		NASMX_RESERVE cpMax, int32_t, 1
	NASMX_ENDSTRUC
NASMX_ENDSTRUC

NASMX_STRUC ENSAVECLIPBOARD
	NASMX_STRUC nmhdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE cObjectCount, int32_t, 1
    NASMX_RESERVE cch, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ENOLEOPFAILED
	NASMX_STRUC nmhdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE iob, int32_t, 1
    NASMX_RESERVE lOper, int32_t, 1
    NASMX_RESERVE hr, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC ENCORRECTTEXT
	NASMX_STRUC nmhdr, NMHDR
		NASMX_RESERVE hwndFrom, ptrdiff_t, 1
		NASMX_RESERVE idfrom, int32_t, 1
		NASMX_RESERVE code, int32_t, 1
	NASMX_ENDSTRUC
	NASMX_STRUC chrg, CHARRANGE
		NASMX_RESERVE cpMin, int32_t, 1
		NASMX_RESERVE cpMax, int32_t, 1
	NASMX_ENDSTRUC
    NASMX_RESERVE seltyp, short_t, 1
NASMX_ENDSTRUC

NASMX_STRUC PUNCTUATION
    NASMX_RESERVE iSize, int32_t, 1
    NASMX_RESERVE szPunctuation, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC COMPCOLOR
    NASMX_RESERVE crText, int32_t, 1
    NASMX_RESERVE crBackground, int32_t, 1
    NASMX_RESERVE dwEffects, int32_t, 1
NASMX_ENDSTRUC

NASMX_STRUC REPASTESPECIAL
    NASMX_RESERVE dwAspect, int32_t, 1
    NASMX_RESERVE dwParam, int32_t, 1
NASMX_ENDSTRUC

%endif
